9日目
今日は、ABC054からABC058のB問題を解きました。
そしてABC160にも参加しました。
ABC054_B
#include<bits/stdc++.h>
#include<bits/stdc++.h>
#define rep(i,n) for(int i=0;i<(n);i++)
usingnamespacestd;intmain(){intN,M;cin>>N>>M;vector<vector<char>>A(N,vector<char>(N));vector<vector<char>>B(M,vector<char>(M));rep(i,N)rep(j,N)cin>>A[i][j];rep(i,M)rep(j,M)cin>>B[i][j];boolans=true;rep(k,M){rep(i,N-M+1){rep(j,N-M+1){rep(k,M){rep(l,M){if(A[i+k][j+l]!=B[k][l])ans=false;}}if(ans)cout<<"Yes"<<endl;return0;}}}cout<<"No"<<endl;}このタイプの問題が毎回解けない、、
ABC055_B
#include <bits/stdc++.h>
usingnamespacestd;intmain(){intN;cin>>N;int64_tmas=1;intres=pow(10,9)+7;for(inti=0;i<N;i++){mas=mas*(i+1)%res;}cout<<mas<<endl;}累乗の書き方は調べました。
ABC056_B
#include<bits/stdc++.h>
usingnamespacestd;intmain(){intW,a,b;cin>>W>>a>>b;if(a==b)cout<<0<<endl;elsecout<<max(abs(a-b)-W,0)<<endl;}ABC057_B
#include <bits/stdc++.h>
usingnamespacestd;intmain(){intN,M;cin>>N>>M;inta[N],b[N];for(inti=0;i<N;i++)cin>>a[i]>>b[i];intc[M],d[M];for(inti=0;i<M;i++)cin>>c[i]>>d[i];for(inti=0;i<N;i++){intmin_dis=abs(a[i]-c[0])+abs(b[i]-d[0]),checkpoint=1;for(intj=1;j<M;j++){intdis=abs(a[i]-c[j])+abs(b[i]-d[j]);if(min_dis>dis){min_dis=dis;checkpoint=j+1;}}cout<<checkpoint<<endl;}}かなり自力で行けたが、完成させることが出来なかった。
ABC058_B
#include<bits/stdc++.h>
usingnamespacestd;intmain(){stringO,E;cin>>O>>E;for(inti=0;i<O.size();++i){cout<<O[i];if(i<=E.size()-1)cout<<E[i];}cout<<endl;}微妙に答えにたどり着けなかった。
ABC160_A
#include<bits/stdc++.h>
usingnamespacestd;intmain(){stringS;cin>>S;if(S[2]==S[3]&&S[4]==S[5])cout<<"Yes"<<endl;elsecout<<"No"<<endl;cout<<S[5]<<endl;}ABC160_B
#include<bits/stdc++.h>
usingnamespacestd;intmain(){intX;cin>>X;intx=X/500;inty=(X-500*x)/5;cout<<1000*x+5*y<<endl;}