不解,求帮忙看一下程序。只有50分,#1 3 5 9 10  WA.
查看原帖
不解,求帮忙看一下程序。只有50分,#1 3 5 9 10  WA.
345095
fhzzxxx楼主2020/8/14 15:40
#include<bits/stdc++.h>
using namespace std;
int main() {
	int n,na,nb;
	cin>>n>>na>>nb;
	int a[n+1]={0},b[n+1]={0},as=0,bs=0,i,j,na1,nb1;
	for(i=0; i<na; i++) cin>>a[i];
	for(i=0; i<nb; i++) cin>>b[i];
	//cout<<a[0]<<endl;
	int dz[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}};
	na1=0;
	nb1=0;
	//cout<<a[na1]<<endl;
	for(i=0; i<n; i++) {
		as+=dz[a[na1]][b[nb1]];
		bs+=dz[b[nb1]][a[na1]];
		//cout<<a[na1]<<" "<<b[nb1]<<endl;
		if(na1==na-1) na1=-1;
		if(nb1==nb-1) nb1=-1;
		na1++;
		nb1++;
	}
	cout<<as<<" "<<bs;
	return 0;
}
/*测试点1数据是这样的:
4 1 12
3
3 2 3 3 2 4 4 3 1 0 2 1
为什么获取到小A的 “3” 变成了是 “1”. 
上面的“//”显示 a[0]==1  应该是3才对   */ 
 

走过路过请指导下。

2020/8/14 15:40
加载中...