AtCoder Grand Contest 006

Submission #1365842

Source codeソースコード

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<stdlib.h>
#include<string.h>
#include<queue>
#define LL long long
using namespace std;
inline int read( )
{
  int sum=0;char c=getchar( );bool f=0;
  while(c<'0'||c>'9') {if(c=='-') f=1;c=getchar( );}
  while(c>='0'&&c<='9') {sum=sum*10+c-'0';c=getchar( );}
  if(f) return -sum;
  return sum;
}
const int N=100005;
int n,m;
struct ex{int num,next,w;}map[N*2];
int head[N],col[N],len;
inline void link(int x,int y)
{
  len++;map[len]=(ex){y,head[x],1};head[x]=len;
  len++;map[len]=(ex){x,head[y],2};head[y]=len;
}
bool vis[N],NO;int num[3],tot,bot;
inline void dfs(int k)
{
  vis[k]=1;num[col[k]]++;tot++;
  int i,x,u=col[k],y;
  for(i=head[k];i;i=map[i].next)
    {
      x=map[i].num;bot++;
      y=(u+map[i].w)%3;
      if(vis[x]) NO|=(col[x]!=y);
      else col[x]=y,dfs(x);
    }
}
int main( )
{
  int i,x,y;LL ans=0;
  n=read( );m=read( );
  for(i=1;i<=m;i++) x=read( ),y=read( ),link(x,y);
  for(i=1;i<=n;i++)
    {
      if(vis[i]) continue;
      num[0]=num[1]=num[2]=0;
      NO=0;tot=0;bot=0;dfs(i);
      if(NO) ans+=1LL*tot*tot;
      else if(num[0]&&num[1]&&num[2]) ans+=1LL*num[0]*num[1]+1LL*num[1]*num[2]+1LL*num[2]*num[0];
      else ans+=bot>>1;
    }
  printf("%lld",ans);
  return 0;
}

Submission

Task問題 F - Blackout
User nameユーザ名 qq872191552
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 AC
Score得点 1700
Source lengthソースコード長 1327 Byte
File nameファイル名
Exec time実行時間 18 ms
Memory usageメモリ使用量 4992 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - 0_00.txt,0_01.txt,0_02.txt
All 1700 / 1700 0_00.txt,0_01.txt,0_02.txt,1_00.txt,1_01.txt,1_02.txt,1_03.txt,1_04.txt,1_05.txt,1_06.txt,1_07.txt,1_08.txt,1_09.txt,1_10.txt,1_11.txt,1_12.txt,1_13.txt,1_14.txt,1_15.txt,1_16.txt,1_17.txt,1_18.txt,1_19.txt,1_20.txt,1_21.txt,1_22.txt,1_23.txt,1_24.txt,1_25.txt,1_26.txt,1_27.txt,1_28.txt,1_29.txt,1_30.txt,1_31.txt,1_32.txt,1_33.txt,1_34.txt,1_35.txt,1_36.txt,1_37.txt,1_38.txt,1_39.txt,1_40.txt,1_41.txt,1_42.txt,1_43.txt,1_44.txt,1_45.txt,1_46.txt,1_47.txt,1_48.txt,1_49.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
0_00.txt AC 1 ms 256 KB
0_01.txt AC 1 ms 256 KB
0_02.txt AC 1 ms 256 KB
1_00.txt AC 1 ms 256 KB
1_01.txt AC 2 ms 384 KB
1_02.txt AC 12 ms 3072 KB
1_03.txt AC 13 ms 4992 KB
1_04.txt AC 13 ms 4992 KB
1_05.txt AC 13 ms 4992 KB
1_06.txt AC 13 ms 4992 KB
1_07.txt AC 13 ms 4992 KB
1_08.txt AC 13 ms 4992 KB
1_09.txt AC 13 ms 4992 KB
1_10.txt AC 13 ms 4992 KB
1_11.txt AC 13 ms 4992 KB
1_12.txt AC 13 ms 4992 KB
1_13.txt AC 13 ms 4992 KB
1_14.txt AC 10 ms 3456 KB
1_15.txt AC 10 ms 3456 KB
1_16.txt AC 10 ms 3456 KB
1_17.txt AC 9 ms 2560 KB
1_18.txt AC 18 ms 3840 KB
1_19.txt AC 18 ms 3840 KB
1_20.txt AC 18 ms 3840 KB
1_21.txt AC 18 ms 3840 KB
1_22.txt AC 18 ms 3840 KB
1_23.txt AC 18 ms 3840 KB
1_24.txt AC 18 ms 3840 KB
1_25.txt AC 18 ms 3840 KB
1_26.txt AC 18 ms 3840 KB
1_27.txt AC 18 ms 3840 KB
1_28.txt AC 18 ms 3840 KB
1_29.txt AC 18 ms 3840 KB
1_30.txt AC 18 ms 3840 KB
1_31.txt AC 18 ms 3840 KB
1_32.txt AC 18 ms 3840 KB
1_33.txt AC 18 ms 3840 KB
1_34.txt AC 17 ms 3712 KB
1_35.txt AC 16 ms 3328 KB
1_36.txt AC 17 ms 3584 KB
1_37.txt AC 18 ms 3840 KB
1_38.txt AC 16 ms 3200 KB
1_39.txt AC 15 ms 3072 KB
1_40.txt AC 18 ms 3840 KB
1_41.txt AC 18 ms 3840 KB
1_42.txt AC 16 ms 3328 KB
1_43.txt AC 17 ms 3456 KB
1_44.txt AC 17 ms 3712 KB
1_45.txt AC 15 ms 3072 KB
1_46.txt AC 18 ms 3840 KB
1_47.txt AC 18 ms 3840 KB
1_48.txt AC 17 ms 3328 KB
1_49.txt AC 17 ms 3584 KB