今日刷题 day11

进制转换

今日刷题 day11_第1张图片

今日刷题 day11_第2张图片

#include
#include
#include
using namespace std;
 int main()
 {
     string s;
     while(cin>>s)
     {
         int bit=0;
         int ans =0;
         for(int i=s.length()-1;i>1;i--)
         {
             if(s[i]>='0'&&s[i]<='9')
                 ans+=(s[i]-'0')*pow(16,bit++);
             else if(s[i]>='A'&&s[i]<='F')
                 ans+=(s[i]-'A'+10)*pow(16,bit++);
         }
         cout<
#include  
using namespace std; 
int main() { 
    int i; 
    scanf("%x", &i); 
    cout << i; 
    }
#include
#include
using namespace std;
  
int main(){
    string str;
    while(cin>>str){
        cout << stoi(str,0,16) << endl;
    }
}

整数与IP地址间的转换

今日刷题 day11_第3张图片

#include 
using namespace std;
 
int main()
{
    long long int a,b,c,d;
    long long int num;
 
    while(scanf("%lld.%lld.%lld.%lld",&a,&b,&c,&d)!=EOF){
        cin>>num;
        cout<<(a<<24)+(b<<16)+(c<<8)+d<>24;//向右移动 24 位意味着将该数除以2
//的24次方并向下取整,即丢弃其低 24 位
        num = num-(a<<24);
        b = num>>16;
        num = num-(b<<16);
        c = num>>8;
        d = num-(c<<8);
        cout<

迷宫问题

今日刷题 day11_第4张图片

今日刷题 day11_第5张图片

#include 
#include 
using namespace std;
vector> visited;
void dfs(int i, int j,vector> &board,vector> &visited,vector> &arr) {

    if (i < 0 || i >= board.size() || j < 0 || j >= board[0].size() || board[i][j] == 1 ||
            visited[i][j] == 1) return ;

    visited[i][j] = 1;
    arr.push_back({i, j});
    if (i == board.size() - 1 && j == board[0].size() - 1){
        for(int i=0;i> a >> b;
    vector> board(a, vector(b, 0));
    for (int i = 0; i < a; i++) {
        for (int j = 0; j < b; j++) {
            cin >> board[i][j];
        }
    }
    vector> visited(a, vector(b, 0));
    vector> arr;
    dfs(0,0,board,visited,arr);
    // for(int i=0;i

你可能感兴趣的:(刷题,c++,开发语言)