希望更丰富的展现?使用Markdown
by Doveqise @ 2019-05-26 19:28:04
编译过了吗
by Stephen_Curry @ 2019-05-26 19:35:23
希望更丰富的展现?[使用Markdown](https://www.luogu.org/wiki/show?name=%E5%B8%AE%E5%8A%A9%EF%BC%9Amarkdown)
by zrzluck99 @ 2019-05-26 19:36:45
本蒟蒻的代码是用switch和case做的,代码可读性较差,仅供参考
```
#include <iostream>
using namespace std;
int main()
{
int n,na,nb,a=0,b=0,c[201],d[201],e=0,f=0;
cin>>n>>na>>nb;
for(int i=1;i<=na;i++)
cin>>c[i];
for(int i=1;i<=nb;i++)
cin>>d[i];
for(int i=1;i<=n;i++)
{
e=e%na+1;
f=f%nb+1;
switch(c[e])
{
case 0:
{
switch(d[f])
{
case 1:
{
b++;
break;
}
case 2:
{
a++;
break;
}
case 3:
{
a++;
break;
}
case 4:
{
b++;
break;
}
};
break;
}
case 1:
{
switch(d[f])
{
case 0:
{
a++;
break;
}
case 2:
{
b++;
break;
}
case 3:
{
a++;
break;
}
case 4:
{
b++;
break;
}
};
break;
}
case 2:
{
switch(d[f])
{
case 0:
{
b++;
break;
}
case 1:
{
a++;
break;
}
case 3:
{
b++;
break;
}
case 4:
{
a++;
break;
}
};
break;
}
case 3:
{
switch(d[f])
{
case 0:
{
b++;
break;
}
case 1:
{
b++;
break;
}
case 2:
{
a++;
break;
}
case 4:
{
a++;
break;
}
};
break;
}
case 4:
{
switch(d[f])
{
case 0:
{
a++;
break;
}
case 1:
{
a++;
break;
}
case 2:
{
b++;
break;
}
case 3:
{
b++;
break;
}
};
break;
}
}
}
cout<<a<<" "<<b<<endl;
return 0;
}
```
by Stephen_Curry @ 2019-05-26 19:37:19
也可以用一个二维数组来解决,那样代码就简洁很多:
```
#include <iostream>
using namespace std;
int main()
{
int n, na, nb, a[201], b[201], as, bs;
cin >> n >> na >> nb;
int score[5][5] = { { 0, 0, 1, 1, 0 }, { 1, 0, 0, 1, 0 }, { 0, 1, 0, 0, 1 }, { 0, 0, 1, 0, 1 }, { 1, 1, 0, 0, 0 } };
for (int i = 0; i < na; i++)
cin >> a[i];
for (int i = 0; i < nb; i++)
cin >> b[i];
for (int i = 0; i < n; i++)
{
as += score[a[i%na]][b[i%nb]];
bs += score[b[i%nb]][a[i%na]];
}
cout << as << " " << bs << endl;
return 0;
}
```
by Stephen_Curry @ 2019-05-26 19:47:13
楼主这样的代码真的~~好丑~~
by Orzalpha @ 2019-05-26 20:02:46
过了。~~谢谢大佬~~
by 独孤枭燕 @ 2019-06-02 17:05:47