7日目
今日は、ABC044からABC048のB問題を解きました
ABC044_B
#include <bits/stdc++.h>
usingnamespacestd;intmain(){stringw;cin>>w;boolres=true;sort(begin(w),end(w));if(w.size()%2==1){res=false;cout<<"No"<<endl;}else{for(inti=0;i<w.size();i++){if(w[i-1]==w[i]&&w[i]!=w[i+1]){if((i+1)%2!=0){cout<<"No"<<endl;res=false;break;}}elseif(w[i-1]!=w[i]&&w[i]!=w[i+1]){cout<<"No"<<endl;res=false;break;}}}if(res)cout<<"Yes"<<endl;}
初めて自力で解けました!
ABC045_B
#include <bits/stdc++.h>
usingnamespacestd;intmain(){stringA,B,C;cin>>A>>B>>C;intturn='a';boolres=true;while(res){if(turn=='a'){if(A.size()==0){cout<<'A'<<endl;res=false;}else{turn=A[0];A.erase(0,1);}}if(turn=='b'){if(B.size()==0){cout<<'B'<<endl;res=false;}else{turn=B[0];B.erase(0,1);}}if(turn=='c'){if(C.size()==0){cout<<'C'<<endl;res=false;}else{turn=C[0];C.erase(0,1);}}}}
結構悩みましたが、なんとかなりました。
ABC046_B
#include <bits/stdc++.h>
usingnamespacestd;intmain(){intN,K;cin>>N>>K;inttotal=K;for(inti=0;i<(N-1);i++){total*=(K-1);}cout<<total<<endl;}
A問題のようでした。
ABC047_B
#include <bits/stdc++.h>
usingnamespacestd;intmain(){intW,H,N;cin>>W>>H>>N;intmin_x=0,min_y=0,max_x=W,max_y=H;for(inti=0;i<N;i++){intx,y,a;cin>>x>>y>>a;if(a==1)min_x=max(min_x,x);if(a==2)max_x=min(max_x,x);if(a==3)min_y=max(min_y,y);if(a==4)max_y=min(max_y,y);}cout<<(max(0,max_x-min_x)*max(0,max_y-min_y))<<endl;}
一番解こうとしたときに解りませんでした
ABC048_B
#include<bits/stdc++.h>
usingnamespacestd;intmain(){int64_ta,b,x;cin>>a>>b>>x;if(a==0)cout<<b/x+1<<endl;elsecout<<b/x-(a-1)/x<<endl;}
int64_tについて学びました。それ以外の箇所は特に問題ありませんでした。
明日もB問題を解いていこうと思います。