首页 > 代码库 > codeforces gym101243 A C D E F G H J
codeforces gym101243 A C D E F G H J
gym101243
A
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 #include<map> 7 #include<queue> 8 #include<stack> 9 #include<vector>10 #include<bitset>11 #include<set>12 #define ll __int6413 #define mod 10000000014 #define N 5e6+1015 #define M 1e16 using namespace std;17 int n,k;18 int main()19 {20 freopen("input.txt","r",stdin);21 freopen("output.txt","w",stdout);22 scanf("%d %d",&n,&k);23 printf("%d\n",max((n*2+k-1)/k,2));24 25 return 0;26 }
C
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 #include<map> 7 #include<queue> 8 #include<stack> 9 #include<vector>10 #include<bitset>11 #include<set>12 #define ll __int6413 #define mod 10000000014 #define N 5e6+1015 #define M 1e16 using namespace std;17 int h,w;18 int x[250005],y[250005];19 int main()20 {21 freopen("input.txt","r",stdin);22 freopen("output.txt","w",stdout);23 int exm=0;24 scanf("%d %d",&h,&w);25 if(h<=1||w<=1)26 {27 printf("0\n");28 return 0;29 }30 if(h%2==0){31 for(int i=h-1;i>=1;i-=2){32 for(int j=1;j<w;j++){33 x[exm]=i;34 y[exm]=j;35 exm++;36 }37 if(i!=1){38 x[exm]=i-1;39 y[exm]=w-1;40 exm++;41 }42 }43 }44 else{45 for(int i=h-1;i>=4;i-=2){46 for(int j=1;j<w;j++){47 x[exm]=i;48 y[exm]=j;49 exm++;50 }51 x[exm]=i-1;52 y[exm]=w-1;53 exm++;54 }55 for(int j=1;j<w;j+=2){56 if(j!=w-1){57 x[exm]=2;58 y[exm]=j;59 exm++;60 x[exm]=1;61 y[exm]=j;62 exm++;63 x[exm]=1;64 y[exm]=j+1;65 exm++;66 }67 else{68 x[exm]=2;69 y[exm]=j;70 exm++;71 x[exm]=1;72 y[exm]=j;73 exm++;74 }75 }76 }77 printf("%d\n",exm);78 for(int i=0;i<exm;i++)79 printf("%d %d\n",x[i],y[i]);80 return 0;81 }
D
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 #include<map> 7 #include<queue> 8 #include<stack> 9 #include<vector>10 #include<set>11 using namespace std;12 #define PI acos(-1.0)13 typedef long long ll;14 typedef pair<int,int> P;15 const int maxn=1e4+100,maxm=1e5+100,inf=0x3f3f3f3f,mod=1e9+7;16 const ll INF=1e13+7;17 struct edge18 {19 int from,to;20 int cost;21 };22 edge es[maxm];23 priority_queue<P,vector<P>,greater<P> >que;24 char s[200000];25 int main()26 {27 freopen("input.txt","r",stdin);28 freopen("output.txt","w",stdout);29 cin>>s;30 int n=strlen(s);31 int ans=1;32 for(int i=1;i<n;i++)33 {34 if(s[i]==‘E‘&&(s[i-1]==‘N‘||s[i-1]==‘S‘)) ans=(ans*2)%mod;35 else if(s[i]==‘W‘&&(s[i-1]==‘N‘||s[i-1]==‘S‘)) ans=(ans*2)%mod;36 }37 cout<<ans<<endl;38 return 0;39 }
E
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 #include<map> 7 #include<queue> 8 #include<stack> 9 #include<vector>10 #include<bitset>11 #include<set>12 #define ll __int6413 #define mod 10000000014 #define N 5e6+1015 #define M 1e16 using namespace std;17 ll n,k,a[100005];18 ll sum[100005];19 int main()20 {21 freopen("input.txt","r",stdin);22 freopen("output.txt","w",stdout);23 scanf("%I64d %I64d",&n,&k);24 sum[0]=0;25 ll maxn=0;26 int pos;27 for(ll i=1; i<=n; i++)28 {29 scanf("%I64d",&a[i]);30 sum[i]=sum[i-1]+a[i];31 if(maxn<a[i])32 {33 pos=i;34 maxn=a[i];35 }36 }37 ll l,r;38 ll ans1,ans2;39 l=n-1+maxn;40 r=sum[n];41 ans1=max(0ll,k-pos+1)/l;42 ans2=max(0ll,k-sum[pos-1])/r;43 for(ll i=0; i<=ans1; i++)44 if(k>=(pos-1+l*i)&&k<=(sum[pos-1]+r*i))45 {46 printf("YES\n");47 return 0;48 }49 printf("KEK\n");50 return 0;51 }
F
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 #include<map> 7 #include<queue> 8 #include<stack> 9 #include<vector>10 using namespace std;11 typedef pair<int,int> P;12 typedef long long ll;13 const int maxn=1e3+100,maxm=1e6+100,inf=0x3f3f3f3f,mod=1e9+7;14 const ll INF=1e13+7;15 struct edge16 {17 int from,to;18 char ch;19 };20 edge es[maxm];21 int pa[maxn];22 int findset(int x)23 {24 return pa[x]==x?x:pa[x]=findset(pa[x]);25 }26 void unit(int x,int y)27 {28 int fx=findset(x),fy=findset(y);29 if(fx<=fy) pa[fx]=fy;30 else pa[fy]=fx;31 }32 int in[maxn],out[maxn];33 int ans[maxn];34 int main()35 {36 freopen("input.txt","r",stdin);37 freopen("output.txt","w",stdout);38 int n,k;39 scanf("%d%d",&n,&k);40 for(int i=1; i<=n; i++) pa[i]=i;41 memset(out,0,sizeof(out));42 memset(in,0,sizeof(in));43 for(int i=1; i<=k; i++)44 {45 scanf("%d%c%d",&es[i].from,&es[i].ch,&es[i].to);46 if(es[i].ch==‘=‘) unit(es[i].from,es[i].to);47 else48 {49 if(es[i].ch==‘>‘) swap(es[i].from,es[i].to);50 es[i].ch=‘<‘;51 }52 }53 for(int i=1; i<=k; i++)54 {55 if(es[i].ch==‘=‘) continue;56 out[findset(es[i].from)]++,in[findset(es[i].to)]++;57 }58 for(int i=1; i<=n; i++)59 if(in[i]&&out[i]) ans[i]=2;60 for(int i=1; i<=k; i++)61 {62 if(es[i].ch==‘=‘) continue;63 if(ans[findset(es[i].from)]==2) ans[findset(es[i].to)]=3;64 else if(ans[findset(es[i].to)]==2) ans[findset(es[i].from)]=1;65 }66 for(int i=1; i<=n; i++)67 {68 if(ans[findset(i)]==1) cout<<"B";69 else if(ans[findset(i)]==2) cout<<"R";70 else if(ans[findset(i)]==3) cout<<"W";71 else cout<<"?";72 }73 cout<<endl;74 return 0;75 }
G
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 #include<map> 7 #include<queue> 8 #include<stack> 9 #include<vector>10 #include<bitset>11 #include<set>12 #define ll __int6413 #define mod 10000000014 #define N 5e6+1015 #define M 1e16 using namespace std;17 int n;18 int main()19 {20 freopen("input.txt","r",stdin);21 freopen("output.txt","w",stdout);22 scanf("%d",&n);23 int que[1005];24 int jishu=0;25 for(int i=2;i*i<=n;i++)26 {27 if(n%i==0)28 {29 int flag=0;30 que[jishu++]=i;31 while(n%i==0)32 {33 flag++;34 n/=i;35 if(flag>2)36 {37 printf("NO\n");38 return 0;39 }40 }41 }42 }43 if(n>1)44 que[jishu++]=n;45 if(jishu==3)46 printf("YES\n");47 else48 printf("NO\n");49 return 0;50 }
H
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 #include<map> 7 #include<queue> 8 #include<stack> 9 #include<vector>10 #include<bitset>11 #include<set>12 #define ll __int6413 #define mod 10000000014 #define N 5e6+1015 #define M 1e16 using namespace std;17 int n;18 int main()19 {20 freopen("input.txt","r",stdin);21 freopen("output.txt","w",stdout);22 scanf("%d",&n);23 if(n<10)24 {25 ll ans=8;26 for(int i=2;i<=n;i++)27 ans*=9;28 printf("%I64d\n",ans);29 }30 else31 {32 ll ans=8;33 for(int i=2;i<=9;i++)34 ans*=9;35 printf("%I64d",ans);36 for(int i=10;i<=n;i++)37 printf("0");38 printf("\n");39 }40 return 0;41 }
J
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 #include<map> 7 #include<queue> 8 #include<stack> 9 #include<vector>10 using namespace std;11 typedef pair<int,int> P;12 typedef long long ll;13 const int maxn=1e3+100,maxm=1e6+100,inf=0x3f3f3f3f,mod=1e9+7;14 const ll INF=1e13+7;15 struct edge16 {17 int from,to;18 char ch;19 };20 edge es[maxm];21 char num[maxn][10];22 vector<int>G[maxn];23 int cy[maxn],vis[maxn];24 bool dfs(int u)25 {26 for(int i=0; i<G[u].size(); i++)27 {28 int v=G[u][i];29 if(vis[v]) continue;30 vis[v]=true;31 if(cy[v]==-1||dfs(cy[v]))32 {33 cy[v]=u;34 return true;35 }36 }37 return false;38 }39 int solve(int n)40 {41 int ret=0;42 memset(cy,-1,sizeof(cy));43 for(int i=1; i<=n; i++)44 {45 memset(vis,0,sizeof(vis));46 if(dfs(i)) ret++;47 }48 return ret;49 }50 int main()51 {52 freopen("input.txt","r",stdin);53 freopen("output.txt","w",stdout);54 int n,m;55 scanf("%d%d",&n,&m);56 for(int i=1; i<=n; i++) scanf("%s",num[i]);57 for(int i=1; i<=m; i++) scanf("%s",num[i+n]);58 for(int i=1; i<=n; i++)59 {60 for(int j=1; j<=m; j++)61 {62 if(num[i][0]+num[i][1]+num[i][2]==num[j+n][3]+num[j+n][4]+num[j+n][5])63 G[i].push_back(j+n);64 if(num[i][3]+num[i][4]+num[i][5]==num[j+n][0]+num[j+n][1]+num[j+n][2])65 G[i].push_back(j+n);66 }67 }68 cout<<solve(n)<<endl;69 for(int i=n+1; i<=n+m; i++)70 {71 if(cy[i]==-1)continue;72 if(num[cy[i]][0]+num[cy[i]][1]+num[cy[i]][2]==num[i][3]+num[i][4]+num[i][5])73 cout<<"AT"<<" "<<num[cy[i]]<<" "<<num[i]<<endl;74 else if(num[i][0]+num[i][1]+num[i][2]==num[cy[i]][3]+num[cy[i]][4]+num[cy[i]][5])75 cout<<"TA"<<" "<<num[i]<<" "<<num[cy[i]]<<endl;76 }77 return 0;78 }
codeforces gym101243 A C D E F G H J
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。