1007 cats 的 k-xor
分析:
1.是对x 取余 得到最后一位
标准答案代码:
#include<bits/stdc++.h>
using namespace std;
long long kxor(long long a,long long b,long long k){long long ans=0,w=1,c;while(a>0||b>0){c=(a+b)%k;a/=k;b/=k;ans+=c*w;w*=k;}return ans;
}
int main(){ios::sync_with_stdio(false),cin.tie(0);int T;long long a,b,c,ans,i;for(cin>>T;T>0;T--){cin>>a>>b>>c;if(a+b<c){cout<<"0\n";continue;}if(a+b==c){cout<<"-1\n";continue;}ans=0;for(i=2;i<=45000;i++){if(kxor(a,b,i)==c)ans++;}if(a+b-c>45000&&kxor(a,b,a+b-c)==c)ans++;cout<<ans<<'\n';}return 0;
}
1012 cats 的电脑中毒
分析:
标准答案代码:
#include<bits/stdc++.h>
using namespace std;
string s1,s2,s3;
int c[3];
int main(){ios::sync_with_stdio(false),cin.tie(0);int T,n,i,ans;for(cin>>T;T>0;T--){cin>>n>>s1>>s2>>s3;for(i=0;i<3;i++)c[i]=0;ans=0;for(i=0;i<n;i++){if(s1[i]!=s2[i]&&s1[i]!=s3[i])c[0]++;else if(s2[i]!=s1[i]&&s2[i]!=s3[i])c[1]++;else if(s3[i]!=s1[i]&&s3[i]!=s2[i])c[2]++;else ans++;}sort(c,c+3);cout<<ans+c[0]+c[1]+(c[2]-c[1])/2<<'\n';}return 0;
}