比赛 Asm_Def战记之透明计算网络 评测结果 WWWWWWWWWW
题目名称 Asm_Def三角形 最终得分 0
用户昵称 Tear smile 运行时间 0.058 s
代码语言 C++ 内存使用 2.22 MiB
提交时间 2015-11-01 11:34:20
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
const int INF=998244353;
long long f[100010];
int a[100010],b[100010],c[100010];
/*struct Point
{
	int a,b,c;
	bool ab,bc,ac;
}S[200000];*/
int main()
{
	freopen("tria.in","r",stdin);
	freopen("tria.out","w",stdout);
	int n,m;
	long long sum=1,ans;
	scanf("%d%d",&n,&m);
	if(n<3)
	{
		a1:printf("0");
		return 0;
	}
	else
	{
		f[1]=1;
		if(m==0)
		{
			for(int i=2;i<=n-2;i++)
			{
				sum+=i;
				sum=sum%INF;
				f[i]=(f[i-1]+sum)%INF;
			}
			printf("%d",(f[n-2]*4)%INF);
			return 0;
		}
		else
		{
			for(int i=1;i<=m;i++)
			{
				scanf("%d%d%d",&a[i],&b[i],&c[i]);
			}
			for(int i=2;i<=n-2;i++)
			{
				sum+=i;
				sum=sum%INF;
				f[i]=(f[i-1]+sum)%INF;
			}
			ans=f[n-2];
			for(int i=1;i<=m;i++)
			{
				if(a[i]==0)
				{
					ans=(ans-(n-c[i]))%INF;
				}
			}
			if(ans<0)
			{
				goto a1;
			}
			printf("%lld",ans);
			return 0;
		}
	}
	return 0;
}