题目链接
思路
根据表格判断输赢。直接列出关系判断即可。 算是一道水题,但感觉写麻烦了,不知道有没有更简单的方法。 由于关系复杂,写的时候一定注意,不能写错。
代码
#include<iostream>
using namespace std;
int quan(int a,int b)
{
//1 a win 0 ping -1 b win
if(a==b)
return 0;
if((a==1&&b==0)||(a==0&&b==1))
return (b>a?-1:1);
if((a==1&&b==2)||(a==2&&b==1))
return (b>a?-1:1);
if((a==3&&b==2)||(a==2&&b==3))
return (b>a?-1:1);
if(( a==3 && b==4 ) || ( a==4 && b==3 ))
return (a<b?1:-1);
if(( a==2 && b==0 ) || ( a==0 && b==2 ))
return (a<b?1:-1);
if(( a==3 && b==0 ) || ( a==0 && b==3 ))
return (a<b?1:-1);
if(( a==3 && b==1 ) || ( a==1 && b==3 ))
return (a<b?1:-1);
if(( a==4 && b==2 ) || ( a==2 && b==4 ))
return (a<b?1:-1);
if(( a==4 && b==0 ) || ( a==0 && b==4 ))
return (a<b?-1:1);
if(( a==4 && b==1 ) || ( a==1 && b==4 ))
return (a<b?-1:1);
}
int main()
{
int aa=0,bb=0,n,na,nb,i,j=0,k=0;
cin>>n>>na>>nb;
int a[220],b[220];
for(i=0;i<na;i++)
cin>>a[i];
for(i=0;i<nb;i++)
cin>>b[i];
for(i=1;i<=n;i++)
{
if(quan(a[j],b[k])==1)
aa++;
else if(quan(a[j],b[k])==-1)
bb++;
j++;k++;
if(j==na)
j=0;
if(k==nb)
k=0;
}
cout<<aa<<" "<<bb;
return 0;
}