还是要靠手速啊,手快有手慢无。。。
A题,读题意即可
int main() { int a=0,b=0; int T; cin>>T; int numa=0,numb=0; while(T--) { int x; cin>>x; int a1,b1; if(x==1) { cin>>a1>>b1; a+=a1; a+=b1; numa+=a1; } else { cin>>a1>>b1; b+=a1; b+=b1; numb+=a1; } }if(numa>=a/2) cout<<"LIVE"<<endl; else cout<<"DEAD"<<endl; if(numb>=b/2) cout<<"LIVE"<<endl; else cout<<"DEAD"<<endl; return 0; }
int main() { string s; s.clear(); char a[100]; scanf("%s",a); char b[100]; int l1=strlen(a); for(int i=0; i<strlen(a); i++) //逆串 b[i]=a[l1-1-i]; b[l1]='\0'; s.assign(a); string ss; int l=s.length(); ss.assign(b); int pos=ss.find("ur");//找到最后一个ru,因为是逆串,所以找"ur" pos=l-pos-2; if(s[0]=='h') { cout<<"http://"; if(pos==-1||pos==4) { for(int i=4; i<l; i++) cout<<s[i]; cout<<endl; return 0; } for(int i=4; i<=pos-1; i++) cout<<s[i]; cout<<".ru"; if(pos+1!=l-1) cout<<"/"; for(int i=pos+2; i<l; i++) cout<<s[i]; } else { cout<<"ftp://"; if(pos==-1||pos==3) { for(int i=3; i<l; i++) cout<<s[i]; cout<<endl; return 0; } for(int i=3; i<=pos-1; i++) cout<<s[i]; cout<<".ru"; if(pos+1!=l-1) cout<<"/"; for(int i=pos+2; i<l; i++) cout<<s[i]; } cout<<endl; return 0; }C题,贪心即可。从N-1遍历,在i这位将i*2和i*2+1这两位都置0,得到步数。
最后加上a[1]置0需要的步数。
void solveC() { int n; int a[105]; cin>>n; for(int i=1; i<=n; i++) scanf("%d",&a[i]); if(n<=2||n&1==0) cout<<-1<<endl; else { int num=0; for(int i=n; i>=1; i--) { if(2*i+1<=n) { int x=max(a[2*i],a[2*i+1]); num+=x; a[2*i]=0; a[2*i+1]=0; a[i]-=x; if(a[i]<0) a[i]=0; } } num+=a[1]; a[1]=0; for(int i=1; i<=n; i++) if(a[i]!=0) num=-1; cout<<num<<endl; } }D题,给你一个n*n的矩阵,用bij表示,每个 bij表示ai&aj。
用位运算|逆向构造ai即可。
void solveD() { int n; int a[105]; int b[105][105]; cin>>n; for(int i=0; i<n; i++) for(int j=0; j<n; j++) cin>>b[i][j]; for(int i=0; i<n; i++) { a[i]=0; for(int j=0; j<n; j++) { if(i==j) continue; a[i]|=b[i][j]; } } for(int i=0; i<n; i++) cout<<a[i]<<" "; cout<<endl; }
void solveE() { char s[1000]; scanf("%s",s); int l=strlen(s); int numin=0; int num=0; for(int i=0; i<l; i++) { if(s[i]=='+') { if(num>numin) { numin++; } else { num++; numin++; } } else { if(numin) { numin--; } else num++; } } cout<<num<<endl; }
G。
H 。
待续。
过几天把剩下的A了,这种比赛比的还是手速啊。。。