比赛 |
Asm_Def战记之透明计算网络 |
评测结果 |
WWWWWWWWWW |
题目名称 |
Asm_Def三角形 |
最终得分 |
0 |
用户昵称 |
123 |
运行时间 |
0.006 s |
代码语言 |
C++ |
内存使用 |
8.17 MiB |
提交时间 |
2017-08-29 21:02:13 |
显示代码纯文本
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cmath>
using namespace std;
long long n,m,k,l;
int f[1015][1015]={0},q[1015][1015]={0};
int main(){
freopen ("tria.in","r",stdin);
freopen ("tria.out","w",stdout);
int a,b,c,d,e,g;
cin>>n>>m;
if(m==0)
{
if(n==3)
{
cout<<4;
exit(0);
}
k=n*(n-1)%998244353;
l=n*(n-3)%998244353;
k+=l;
k=k%998244353;
cout<<k;
exit(0);
}
int ans=0;
if(n<=1000)
{
for(a=1;a<=n;a++)
for(b=1;b<=n;b++)
f[a][b]=2;
for(a=1;a<=m;a++)
{
cin>>b>>c>>d;
f[c][d]=b;
f[d][c]=b;
}
for(a=1;a<=n;a++)
{
b=1+a;
if(b>n)
b=b%n;
if(f[a][b]!=0)
{
c=b;
for(d=1;d<=n-3;d++)
{
e=(c+d)%n;
if(f[a][e]!=0&&f[b][e]!=0)
{
if(f[a][e]==2&&f[b][e]==2)
ans++;
if(f[a][b]!=1)
q[a][b]=1;
if(f[a][e]!=1)
q[a][e]=1;
if(f[b][e]!=1)
q[b][e]=1;
}
}
}
}
for(a=1;a<=n;a++)
{
for(b=1;b<=n;b++)
{
if(a!=b&&q[a][b]==1)
ans++;
}
}
cout<<ans;
exit(0);
}
return 0;
}