求助一下,样例全过为啥0
查看原帖
求助一下,样例全过为啥0
1173402
yfhshtk楼主2024/3/15 19:16
#include<bits/stdc++.h>
#define int long long 
using namespace std;
const int MAXN=1e3+5;
int n,num[MAXN][MAXN],adj[MAXN][MAXN];
signed main(){
	std::ios::sync_with_stdio(false);
	cin>>n;
	for(int i=0;i<n;i++){
		for(int j=1;j<=4;j++){
			cin>>num[i][j];
		}
	}
	for(int i=0;i<n;i++){
		for(int j=1;j<=4;j++){
			cin>>adj[i][j];
		}
	}
	for(int i=0;i<n;i++){//第一个题的编号
		int ans=0;
		for(int j=0;j<n;j++){//每个顺序下题目的编号 
			int tmp=(i+j)%n;
			bool flag=1;
			int cnt=0,pd=0;
			for(int k=1;k<=4;k++){//枚举一个题的正确性 
				if(num[tmp][k]==0&&adj[j][k]==1){
					flag=0;
					break;
				}
				else if(num[tmp][k]==1){
					pd++;
					if(adj[j][k]==1){
						cnt++;
					}
				}
			}
			if(flag){
				if(cnt==pd){
					ans+=6;
				}
				else{
					ans+=3;
				}
			}
		}
		cout<<ans<<' ';
	}
	return 0;
} 
2024/3/15 19:16
加载中...