点击打开链接
//模3同余即为同种颜色
//((a%c)+(b%c))%c==(a+b)%c
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long LL;
const int maxn=1e5+5;
LL a[3],b[3],c[3];
int main()
{
int n;
while(scanf("%d",&n)==1)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
for(int i=1;i<=n;i++)
{
int x;
scanf("%d",&x);
a[i%3]+=x;
}
for(int i=1;i<=n;i++)
{
int x;
scanf("%d",&x);
b[i%3]+=x;
}
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
if((i+j)%3==0) c[0]+=a[i]*b[j];
else if((i+j)%3==1) c[1]+=a[i]*b[j];
else c[2]+=a[i]*b[j];
}
cout<<c[0]<<" "<<c[1]<<" "<<c[2]<<endl;
}
return 0;
}
ACM Southwestern European Regional Programming Contest (SWERC) 2017 J 智商题(模m同余)
最新推荐文章于 2022-07-26 19:03:09 发布