結果

問題 No.468 役に立つ競技プログラミング実践編
ユーザー tails
提出日時 2016-12-18 01:40:44
言語 C90
(gcc 12.3.0)
結果
AC  
実行時間 113 ms / 2,000 ms
コード長 534 bytes
コンパイル時間 492 ms
コンパイル使用メモリ 20,608 KB
実行使用メモリ 11,776 KB
最終ジャッジ日時 2024-12-14 07:34:09
合計ジャッジ時間 2,909 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 31
other AC * 6
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:1:9: warning: type defaults to ‘int’ in declaration of ‘A’ [-Wimplicit-int]
    1 | typedef A[500010];
      |         ^
main.c:4:1: warning: data definition has no type or storage class
    4 | i,n,m,y;
      | ^
main.c:4:1: warning: type defaults to ‘int’ in declaration of ‘i’ [-Wimplicit-int]
main.c:4:3: warning: type defaults to ‘int’ in declaration of ‘n’ [-Wimplicit-int]
    4 | i,n,m,y;
      |   ^
main.c:4:5: warning: type defaults to ‘int’ in declaration of ‘m’ [-Wimplicit-int]
    4 | i,n,m,y;
      |     ^
main.c:4:7: warning: type defaults to ‘int’ in declaration of ‘y’ [-Wimplicit-int]
    4 | i,n,m,y;
      |       ^
main.c:6:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
    6 | f(a,j){
      | ^
main.c: In function ‘f’:
main.c:6:1: warning: type of ‘a’ defaults to ‘int’ [-Wimplicit-int]
main.c:6:1: warning: type of ‘j’ defaults to ‘int’ [-Wimplicit-int]
main.c: At top level:
main.c:18:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
   18 | g(b,j){
      | ^
main.c: In function ‘g’:
main.c:18:1: warning: type of ‘b’ defaults to ‘int’ [-Wimplicit-int]
main.c:18:1: warning: type of ‘j’ defaults to ‘int’ [-Wimplicit-int]
main.c: At top level:
main.c:30:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
   30 | main(e){
      | ^~~~
main.c: In function ‘main’:
main.c:30:1: warning: type of ‘e’ defaults to ‘int’ [-Wimplicit-int]
main.c:31:9: warning: implicit declaration of function ‘scanf’ [-Wimplicit-function-declaration]
   31 |         scanf("%d%d",&n,&m);
      |         ^~~~~
main.c:1:1: note: include ‘<stdio.h>’ or provide a declaration of ‘scanf’
  +++ |+#include <stdio.h>
    1 | typedef A[500010];
main.c:31:9: warning: incompatible implicit declaration of built-in function ‘scanf’ [-Wbuiltin-declaration-mismatch]
   31 |         scanf("%d%d",&n,&m);
      |         ^~~~~
main.c:31:9: note: i

ソースコード

diff #

typedef A[500010];
A a,b,c,la,lb,li;
A sa,sb,d={1},t;
i,n,m,y;

f(a,j){
	if(t[a]<j){
		t[a]=j;
	}
	if(!--d[a]){
		for(j=sa[a];j;j=la[j]){
			i=li[j];
			f(b[i],t[a]+c[i]);
		}
	}
}

g(b,j){
	if(!d[b]++){
		++y;
		for(j=sb[b];j;j=lb[j]){
			i=li[j];
			if(t[a[i]]==t[b]-c[i]){
				g(a[i]);
			}
		}
	}
}

main(e){
	scanf("%d%d",&n,&m);
	for(i=0;i<m;++i){
		scanf("%d%d%d",a+i,b+i,c+i);
		la[e]=sa[a[i]];sa[a[i]]=e;
		lb[e]=sb[b[i]];sb[b[i]]=e;
		li[e]=i;
		++e;
		++d[b[i]];
	}
	f(0,0);
	g(n-1);
	n=!printf("%d %d/%d",t[n-1],n-y,n);
}
0