首页 > 代码库 > Codeforces Round #368 (Div. 2) ABCD
Codeforces Round #368 (Div. 2) ABCD
A. Brain‘s Photos
题解:
水得不要不要的
代码:
#include<bits/stdc++.h>using namespace std;#define pb push_back#define mp make_pair#define se second#define fs first#define LL long long#define CLR(x) memset(x,0,sizeof x)#define MC(x,y) memcpy(x,y,sizeof(x)) #define SZ(x) ((int)(x).size())#define FOR(it,c) for(__typeof((c).begin()) it=(c).begin();it!=(c).end();it++)#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1 typedef pair<int,int> P;const double eps=1e-9;const int maxn=200;const int mod=1e9+7;const int INF=1e9;string p;set<string> s;int main(){ s.insert("C"); s.insert("M"); s.insert("Y"); int n,m,flag=0; cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++){ cin>>p; if(flag) continue; if(s.count(p)) flag=1; } if(!flag) cout<<"#Black&White"<<endl; else cout<<"#Color"<<endl; return 0;}
B.Chris and Magic Square
题解:
英语阅读题,看懂题意就很水了
代码:
#include<bits/stdc++.h>using namespace std;#define pb push_back#define mp make_pair#define se second#define fs first#define LL long long#define CLR(x) memset(x,0,sizeof x)#define MC(x,y) memcpy(x,y,sizeof(x)) #define SZ(x) ((int)(x).size())#define FOR(it,c) for(__typeof((c).begin()) it=(c).begin();it!=(c).end();it++)#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1 typedef pair<int,int> P;const double eps=1e-9;const int maxn=1e5+10;const int mod=1e9+7;const int INF=1e9+10;int v[maxn],u[maxn],w[maxn];set<int> s;int main(){ int n,m,k,tmp; cin>>n>>m>>k; for(int i=1;i<=m;i++) cin>>v[i]>>u[i]>>w[i]; for(int i=1;i<=k;i++){ cin>>tmp; s.insert(tmp); } int ans=INF; for(int i=1;i<=m;i++){ if((s.count(v[i])&&!s.count(u[i]))||(!s.count(v[i])&&s.count(u[i]))) ans=min(w[i],ans); } if(ans==INF) cout<<-1<<endl; else cout<<ans<<endl;}
C. Pythagorean Triples
题解:
百度一下勾股数就行了。。。
代码:
#include<bits/stdc++.h>using namespace std;#define pb push_back#define mp make_pair#define se second#define fs first#define LL long long#define CLR(x) memset(x,0,sizeof x)#define MC(x,y) memcpy(x,y,sizeof(x)) #define SZ(x) ((int)(x).size())#define FOR(it,c) for(__typeof((c).begin()) it=(c).begin();it!=(c).end();it++)#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1 typedef pair<int,int> P;const double eps=1e-9;const int maxn=200;const int mod=1e9+7;const int INF=1e9;LL n,m,a,b,c;int main(){ cin>>n; if(n<3) cout<<-1<<endl; else{ if(n&1){ b=(n*n-1*1LL)/2*1LL; c=(n*n+1*1LL)/2*1LL; } else{ b=(n*n/2-2*1LL)/2*1LL; c=(n*n/2+2*1LL)/2*1LL; } cout<<b<<" "<<c<<endl; } return 0;}
D. Persistent Bookcase
题解:
考验码力的题目。。用上bitset,然后模拟就行了。
注意到一点,4种操作,更改的都是一行的值
代码:
#include<bits/stdc++.h>using namespace std;#define pb push_back#define mp make_pair#define se second#define fs first#define LL long long#define CLR(x) memset(x,0,sizeof x)#define MC(x,y) memcpy(x,y,sizeof(x)) #define SZ(x) ((int)(x).size())#define FOR(it,c) for(__typeof((c).begin()) it=(c).begin();it!=(c).end();it++)#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1 typedef pair<int,int> P;const double eps=1e-9;const int N=1e5+10;const int M=1e3+10;const int mod=1e9+7;const int INF=1e9+10;bitset<M> bs[N],tmp;int que[N][M],ans[N],cnt;int main(){ int n,m,q,a,b,c; cnt=0; scanf("%d%d%d",&n,&m,&q); for(int i=1;i<=m;i++) tmp[i]=1; for(int i=1;i<=q;i++){ scanf("%d%d",&a,&b); if(a==4){ for(int j=1;j<=n;j++) que[i][j]=que[b][j]; ans[i]=ans[b]; continue; } for(int j=1;j<=n;j++) que[i][j]=que[i-1][j]; ans[i]=ans[i-1]; int id=que[i-1][b]; if(a==3){ bs[++cnt]=bs[id]; ans[i]-=bs[cnt].count(); bs[cnt]^=tmp; ans[i]+=bs[cnt].count(); que[i][b]=cnt; } if(a==2){ scanf("%d",&c); if(bs[id][c]==0) continue; bs[++cnt]=bs[id]; bs[cnt][c]=0; ans[i]--; que[i][b]=cnt; } if(a==1){ scanf("%d",&c); if(bs[id][c]==1) continue; bs[++cnt]=bs[id]; bs[cnt][c]=1; ans[i]++; que[i][b]=cnt; } } for(int i=1;i<=q;i++) printf("%d\n",ans[i]); return 0; }
Codeforces Round #368 (Div. 2) ABCD
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。