提出 #6559190


ソースコード 拡げる

#include<bits/stdc++.h>
using namespace std;
inline void rd(int &x){
  int k, m=0;
  x=0;
  for(;;){
    k = getchar_unlocked();
    if(k=='-'){
      m=1;
      break;
    }
    if('0'<=k&&k<='9'){
      x=k-'0';
      break;
    }
  }
  for(;;){
    k = getchar_unlocked();
    if(k<'0'||k>'9'){
      break;
    }
    x=x*10+k-'0';
  }
  if(m){
    x=-x;
  }
}
inline void wt_L(char a){
  putchar_unlocked(a);
}
inline void wt_L(int x){
  char f[10];
  int m=0, s=0;
  if(x<0){
    m=1;
    x=-x;
  }
  while(x){
    f[s++]=x%10;
    x/=10;
  }
  if(!s){
    f[s++]=0;
  }
  if(m){
    putchar_unlocked('-');
  }
  while(s--){
    putchar_unlocked(f[s]+'0');
  }
}
template<class S, class T> inline S chmin(S &a, T b){
  if(a>b){
    a=b;
  }
  return a;
}
int N;
int M;
int A[50];
int B[50];
int dist[10][10];
int res[10];
int main(){
  int i, j, k;
  rd(N);
  rd(M);
  {
    int Lj4PdHRW;
    for(Lj4PdHRW=0;Lj4PdHRW<M;Lj4PdHRW++){
      rd(A[Lj4PdHRW]);A[Lj4PdHRW] += (-1);
      rd(B[Lj4PdHRW]);B[Lj4PdHRW] += (-1);
    }
  }
  for(i=0;i<N;i++){
    for(j=0;j<N;j++){
      dist[i][j] = 1073709056;
    }
  }
  for(i=0;i<N;i++){
    dist[i][i] = 0;
  }
  for(i=0;i<M;i++){
    dist[A[i]][B[i]] = dist[B[i]][A[i]] = 1;
  }
  for(k=0;k<N;k++){
    for(i=0;i<N;i++){
      for(j=0;j<N;j++){
        chmin(dist[i][j], dist[i][k] + dist[k][j]);
      }
    }
  }
  for(i=0;i<N;i++){
    for(j=0;j<N;j++){
      if(dist[i][j]==2){
        res[i]++;
      }
    }
  }
  for(i=0;i<N;i++){
    wt_L(res[i]);
    wt_L('\n');
  }
  return 0;
}
// cLay varsion 20190721-1

// --- original code ---
// int N, M, A[50], B[50];
// 
// int dist[10][10];
// int res[10];
// {
//   int i, j, k;
//   rd(N,M,(A--,B--)(M));
// 
//   rep(i,N) rep(j,N) dist[i][j] = int_inf;
//   rep(i,N) dist[i][i] = 0;
//   rep(i,M) dist[A[i]][B[i]] = dist[B[i]][A[i]] = 1;
//   rep(k,N) rep(i,N) rep(j,N) dist[i][j] <?= dist[i][k] + dist[k][j];
// 
//   rep(i,N) rep(j,N) if(dist[i][j]==2) res[i]++;
//   rep(i,N) wt(res[i]);
// }

提出情報

提出日時
問題 C - 友達の友達
ユーザ LayCurse
言語 C++14 (GCC 5.4.1)
得点 100
コード長 2127 Byte
結果 AC
実行時間 1 ms
メモリ 256 KiB

ジャッジ結果

セット名 All
得点 / 配点 100 / 100
結果
AC × 32
セット名 テストケース
All 00_sample_00.txt, 00_sample_01.txt, 10_rand_00.txt, 10_rand_01.txt, 10_rand_02.txt, 10_rand_03.txt, 10_rand_04.txt, 10_rand_05.txt, 10_rand_06.txt, 10_rand_07.txt, 10_rand_08.txt, 10_rand_09.txt, 10_rand_10.txt, 10_rand_11.txt, 10_rand_12.txt, 10_rand_13.txt, 10_rand_14.txt, 10_rand_15.txt, 10_rand_16.txt, 10_rand_17.txt, 10_rand_18.txt, 10_rand_19.txt, 10_rand_20.txt, 10_rand_21.txt, 10_rand_22.txt, 10_rand_23.txt, 10_rand_24.txt, 10_rand_25.txt, 10_rand_26.txt, 10_rand_27.txt, 10_rand_28.txt, 10_rand_29.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 1 ms 256 KiB
00_sample_01.txt AC 1 ms 256 KiB
10_rand_00.txt AC 1 ms 256 KiB
10_rand_01.txt AC 1 ms 256 KiB
10_rand_02.txt AC 1 ms 256 KiB
10_rand_03.txt AC 1 ms 256 KiB
10_rand_04.txt AC 1 ms 256 KiB
10_rand_05.txt AC 1 ms 256 KiB
10_rand_06.txt AC 1 ms 256 KiB
10_rand_07.txt AC 1 ms 256 KiB
10_rand_08.txt AC 1 ms 256 KiB
10_rand_09.txt AC 1 ms 256 KiB
10_rand_10.txt AC 1 ms 256 KiB
10_rand_11.txt AC 1 ms 256 KiB
10_rand_12.txt AC 1 ms 256 KiB
10_rand_13.txt AC 1 ms 256 KiB
10_rand_14.txt AC 1 ms 256 KiB
10_rand_15.txt AC 1 ms 256 KiB
10_rand_16.txt AC 1 ms 256 KiB
10_rand_17.txt AC 1 ms 256 KiB
10_rand_18.txt AC 1 ms 256 KiB
10_rand_19.txt AC 1 ms 256 KiB
10_rand_20.txt AC 1 ms 256 KiB
10_rand_21.txt AC 1 ms 256 KiB
10_rand_22.txt AC 1 ms 256 KiB
10_rand_23.txt AC 1 ms 256 KiB
10_rand_24.txt AC 1 ms 256 KiB
10_rand_25.txt AC 1 ms 256 KiB
10_rand_26.txt AC 1 ms 256 KiB
10_rand_27.txt AC 1 ms 256 KiB
10_rand_28.txt AC 1 ms 256 KiB
10_rand_29.txt AC 1 ms 256 KiB