05.05 刷题班

  1. P1618 三连击(升级版)

    #include<bits/stdc++.h>
    #include<cstring>
    #include<stack>
    #include<queue>
    #include<vector>
    #define ll long long
    #define ld long double
    #define ull unsigned long long
    using namespace std;
    int A,B,C; 
    int tag[10];
    int cnt=0; 
    int main(){
    	cin>>A>>B>>C;
    	if(A==0){
    		cout<<"No!!!"; return 0;
    	}
    	for(int i=100;i<=999;i++){ //枚举a
    		for(int j=1;j<=9;j++) tag[j]=0; //初始化 
    		int a,b,c;
    		a=i; b=a*1.0/A*B; c=a*1.0/A*C;
    		if(a>=100&&a<=999&&b>=100&&b<=999&&c>=100&&c<=999){
    			tag[a/100]++; tag[a/10%10]++; tag[a%10]++;
    			tag[b/100]++; tag[b/10%10]++; tag[b%10]++;
    			tag[c/100]++; tag[c/10%10]++; tag[c%10]++;
    			bool flag=true;
    			for(int j=1;j<=9;j++){
    				if(tag[j]!=1){
    					flag=false;
    					break;
    				}
    			}
    			if(flag){
    				cout<<a<<" "<<b<<" "<<c<<"\n"; cnt++;
    			}
    		}
    	}
    	if(cnt==0) cout<<"No!!!";
    	return 0;
    }
    
    
    
  2. A0101 五位回文数

    #include<bits/stdc++.h>
    using namespace std;
    int ans=0;
    int main(){
    	for(int i=10000;i<=99999;i++){
    		int a=i/10000,b=i%10000/1000,c=i%1000/100,d=i%100/10,e=i%10;
    		if(e*10000+d*1000+c*100+b*10+a==i) ans++;
    	} 
    	cout<<ans;
    	return 0;
    }
    


我们会审查剪贴板内容,并对发布不合适内容的同学进行相应的处理