1 条题解

  • 2
    @ 2026-3-31 16:49:17
    #include<bits/stdc++.h>
    using namespace std;
    long long d2ten(string z,int d){
    	long long sum=0;
    	long long w=1;
    	for(int i=z.size()-1;i>=0;i--){
    		int x;
    		if(z[i]>='0'&&z[i]<='9'){
    			x=z[i]-'0';
    		}
    		else{
    			x=z[i]-'a'+10;
    		}
    		sum+=x*w;
    		w*=d;
    	}
    	
    	return sum;
    }
    int k;
    string n,z;
    int d;
    int main(){
    	cin>>k;
    	for(int i=1;i<=k;i++){
    		cin>>z;
    		if(z[0]=='0'&&z[1]=='x'){
    			d=16;
    			z.erase(0,2);
    		}
    		else{
    			d=8;
    			z.erase(0,1);
    		}
    		cout<<d2ten(z,d)<<endl;
    	}
    	
    	return 0;
    }
    
    
    • 1

    信息

    ID
    5636
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    19
    已通过
    8
    上传者