洛谷 1328 生活大爆炸版石头剪刀布(NOIp2014提高组)

洛谷 1328 生活大爆炸版石头剪刀布(NOIp2014提高组)

洛谷 1328 生活大爆炸版石头剪刀布(NOIp2014提高组)

【题解】

  简单粗暴的模拟题。

 #include<cstdio>
#include<algorithm>
#include<cstring>
#define LL long long
#define rg register
#define N 200010
using namespace std;
int n,ta,tb,a[N],b[N],ansa,ansb;
inline int read(){
int k=,f=; char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(''<=c&&c<='')k=k*+c-'',c=getchar();
return k*f;
}
inline int check(int a,int b){
if(a==){
if(b==) return ;
else
if(b==||b==) return ;
else return ;
}
if(a==){
if(b==) return ;
else
if(b==||b==) return ;
else return ;
}
if(a==){
if(b==) return ;
else
if(b==||b==) return ;
else return ;
}
if(a==){
if(b==) return ;
else
if(b==||b==) return ;
else return ;
}
if(a==){
if(b==) return ;
else
if(b==||b==) return ;
else return ;
}
return ;
}
int main(){
n=read(); ta=read(); tb=read();
for(rg int i=;i<=ta;i++) a[i]=read();
for(rg int i=;i<=tb;i++) b[i]=read();
for(rg int i=ta+;i<=n;i++) a[i]=a[i-ta];
for(rg int i=tb+;i<=n;i++) b[i]=b[i-tb];
// for(rg int i=1;i<=n;i++) printf("%d ",a[i]); puts("");
// for(rg int i=1;i<=n;i++) printf("%d ",b[i]); puts("");
for(rg int i=;i<=n;i++){
int tmp=check(a[i],b[i]);
if(tmp==) ansa++;
else if(tmp==) ansb++;
// printf("tmp=%d\n",tmp);
}
printf("%d %d\n",ansa,ansb);
return ;
}
上一篇:判断文件夹下是否存在txt格式的文本文件


下一篇:Web前端新人笔记之CSS结构和层叠