| 比赛 | 
    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;
}