A. Gennady and a Card Game
a题惯例签到题
题意:给你一张牌,再给你5张牌,判断能不能出一次牌...
所以只要检查第二行中的某个卡是否与第一行中的卡具有共同字符
有就输出YES否则输出NO
#include<iostream> #include<cstring> #include<cstdio> using namespace std; char a,b,s[101]; bool tf=0; int main(){ scanf("%c%c",&a,&b); for(int i=0;i<5;i++){ scanf("%s",s); if(s[0]==a||s[1]==b) tf=1; } if(tf) cout<<"YES"<<endl; else cout<<"NO"<<endl; return 0; }
B. Petr and a Combination Lock
题意:检查角度是否为360度的倍数。
这题让我第一次见识到了被hack...
#include<iostream> #include<cstdio> using namespace std; int a[101],n,x; bool tf=0; int main(){ scanf("%d",&n); for(int i=1;i<=n;++i) scanf("%d",&a[i]); for(int i=0;i<1<<n;++i){ x=0; for(int j=1;j<=n;++j) if((1<<(j-1))&i) x+=a[j]; else x-=a[j]; if((x==0)||(x%360==0)) tf=1; } if (tf) cout<<"YES"<<endl; else cout<<"NO"<<endl; return 0; }