結果

問題 No.753 最強王者決定戦
ユーザー kotatsugamekotatsugame
提出日時 2018-11-10 08:41:11
言語 C
(gcc 12.3.0)
結果
AC  
実行時間 529 ms / 1,000 ms
コード長 448 bytes
コンパイル時間 318 ms
コンパイル使用メモリ 30,208 KB
実行使用メモリ 9,728 KB
最終ジャッジ日時 2024-05-02 01:13:37
合計ジャッジ時間 3,300 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 523 ms
9,728 KB
testcase_01 AC 521 ms
9,728 KB
testcase_02 AC 529 ms
9,600 KB
testcase_03 AC 522 ms
9,728 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:1:20: warning: data definition has no type or storage class
    1 | long dp[1<<16][16];x[16][16],i,j,k;
      |                    ^
main.c:1:20: warning: type defaults to 'int' in declaration of 'x' [-Wimplicit-int]
main.c:1:30: warning: type defaults to 'int' in declaration of 'i' [-Wimplicit-int]
    1 | long dp[1<<16][16];x[16][16],i,j,k;
      |                              ^
main.c:1:32: warning: type defaults to 'int' in declaration of 'j' [-Wimplicit-int]
    1 | long dp[1<<16][16];x[16][16],i,j,k;
      |                                ^
main.c:1:34: warning: type defaults to 'int' in declaration of 'k' [-Wimplicit-int]
    1 | long dp[1<<16][16];x[16][16],i,j,k;
      |                                  ^
main.c:2:1: warning: return type defaults to 'int' [-Wimplicit-int]
    2 | main(c)
      | ^~~~
main.c: In function 'main':
main.c:2:1: warning: type of 'c' defaults to 'int' [-Wimplicit-int]
main.c:4:15: warning: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    4 |         for(;~scanf("%d",&c);dp[1<<j/16][j++/16]=1)x[j>>4][j&15]=c?c:-x[j&15][j>>4];
      |               ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | long dp[1<<16][16];x[16][16],i,j,k;
main.c:4:15: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    4 |         for(;~scanf("%d",&c);dp[1<<j/16][j++/16]=1)x[j>>4][j&15]=c?c:-x[j&15][j>>4];
      |               ^~~~~
main.c:4:15: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:12:26: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
   12 |         for(j=0;j<16;j++)printf("%ld\n",dp[i-1][j]);
      |                          ^~~~~~
main.c:12:26: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:12:26: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
ma

ソースコード

diff #

long dp[1<<16][16];x[16][16],i,j,k;
main(c)
{
	for(;~scanf("%d",&c);dp[1<<j/16][j++/16]=1)x[j>>4][j&15]=c?c:-x[j&15][j>>4];
	for(;i<1<<16;i++)
		if((c=__builtin_popcount(i))>1&&__builtin_popcount(c)==1)
			for(c=(1<<c/2)-1;c<1<<16;j=c&-c,k=c+j,c=((c&~k)/j>>1)|k)
				if(!(c&~i))
					for(j=0;j<16;j++)if(c&1<<j)
						for(k=0;k<16;k++)if(i&~c&1<<k)
							dp[i][x[j][k]==1?j:k]+=dp[c][j]*dp[i&~c][k];
	for(j=0;j<16;j++)printf("%ld\n",dp[i-1][j]);
}
0