比赛 20251022赛前模拟1 评测结果 AAAAAAAAAAAAAAAAAAWW
题目名称 正负游戏 最终得分 90
用户昵称 梧叶已同秋雨去 运行时间 0.143 s
代码语言 C++ 内存使用 3.70 MiB
提交时间 2025-10-22 10:39:51
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,m,k,h[1000005],l[1000005];
long long mod=998244353,ans=1;
long long kua(long long a,long long x){
	if(x==0)return 1;
	if(x==1)return a;
	long long f=kua(a,x/2);
	f%=mod;
	f*=f;
	f%=mod;
	if(x%2==1)return f*a%mod;
	return f%mod;
}
int main(){
	freopen("plusminus.in","r",stdin);
	freopen("plusminus.out","w",stdout);
	cin>>n>>m;
	cin>>k;
	if(n%2!=m%2){
		cout<<0;
		return 0;
	}  
	for(int i=1;i<=k;i++){
		int x,y,op;
		cin>>x>>y>>op;
		if(op==-1){
			h[x]++;
			l[x]++;
		}
	}
	for(int i=1;i<=n;i++){
		if(h[i]==m&&m%2==0){
			cout<<0;
			return 0;
		}
	}
	for(int i=1;i<=m;i++){
		if(l[i]==n&&n%2==0){
			cout<<0;
			return 0;
		}
	}
	ans=kua(2,(n-1)*(m-1)-k)%mod;
	cout<<ans%mod;
	return 0;
}