結果

問題 No.528 10^9と10^9+7と回文
ユーザー tailstails
提出日時 2017-06-10 00:14:41
言語 C
(gcc 12.3.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 329 bytes
コンパイル時間 129 ms
コンパイル使用メモリ 29,052 KB
実行使用メモリ 4,384 KB
最終ジャッジ日時 2023-10-01 00:55:19
合計ジャッジ時間 1,418 ms
ジャッジサーバーID
(参考情報)
judge15 / judge13
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,376 KB
testcase_01 AC 1 ms
4,376 KB
testcase_02 AC 1 ms
4,384 KB
testcase_03 AC 1 ms
4,380 KB
testcase_04 AC 1 ms
4,380 KB
testcase_05 AC 1 ms
4,380 KB
testcase_06 AC 1 ms
4,380 KB
testcase_07 AC 1 ms
4,380 KB
testcase_08 AC 1 ms
4,376 KB
testcase_09 AC 0 ms
4,380 KB
testcase_10 AC 2 ms
4,380 KB
testcase_11 AC 2 ms
4,376 KB
testcase_12 AC 2 ms
4,380 KB
testcase_13 AC 2 ms
4,376 KB
testcase_14 AC 2 ms
4,376 KB
testcase_15 AC 1 ms
4,380 KB
testcase_16 AC 2 ms
4,376 KB
testcase_17 AC 1 ms
4,376 KB
testcase_18 AC 2 ms
4,380 KB
testcase_19 AC 1 ms
4,380 KB
testcase_20 AC 2 ms
4,380 KB
testcase_21 AC 1 ms
4,380 KB
testcase_22 AC 0 ms
4,376 KB
testcase_23 AC 0 ms
4,380 KB
testcase_24 AC 1 ms
4,380 KB
testcase_25 AC 1 ms
4,384 KB
testcase_26 AC 2 ms
4,376 KB
testcase_27 AC 2 ms
4,380 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:2:1: 警告: データ定義が型または記憶域クラスを持っていません
    2 | l;i;f;
      | ^
main.c:2:1: 警告: 型がデフォルトの ‘int’ に ‘l’ の宣言内でなります [-Wimplicit-int]
main.c:2:3: 警告: データ定義が型または記憶域クラスを持っていません
    2 | l;i;f;
      |   ^
main.c:2:3: 警告: 型がデフォルトの ‘int’ に ‘i’ の宣言内でなります [-Wimplicit-int]
main.c:2:5: 警告: データ定義が型または記憶域クラスを持っていません
    2 | l;i;f;
      |     ^
main.c:2:5: 警告: 型がデフォルトの ‘int’ に ‘f’ の宣言内でなります [-Wimplicit-int]
main.c:4:1: 警告: データ定義が型または記憶域クラスを持っていません
    4 | m1=1e9;
      | ^~
main.c:4:1: 警告: 型がデフォルトの ‘int’ に ‘m1’ の宣言内でなります [-Wimplicit-int]
main.c:5:1: 警告: データ定義が型または記憶域クラスを持っていません
    5 | m2=1e9+7;
      | ^~
main.c:5:1: 警告: 型がデフォルトの ‘int’ に ‘m2’ の宣言内でなります [-Wimplicit-int]
main.c:6:1: 警告: 戻り値の型をデフォルトの ‘int’ にします [-Wimplicit-int]
    6 | main(){
      | ^~~~
main.c: 関数 ‘main’ 内:
main.c:7:9: 警告: 関数 ‘gets’ の暗黙的な宣言です [-Wimplicit-function-declaration]
    7 |         gets(n);
      |         ^~~~
main.c:8:11: 警告: 関数 ‘strlen’ の暗黙的な宣言です [-Wimplicit-function-declaration]
    8 |         l=strlen(n);
      |           ^~~~~~
main.c:1:1: 備考: include ‘<string.h>’ or provide a declaration of ‘strlen’
  +++ |+#include <string.h>
    1 | char n[100010];
main.c:8:11: 警告: 組み込み関数 ‘strlen’ の互換性がない暗黙的な宣言です [-Wbuiltin-declaration-mismatch]
    8 |         l=strlen(n);
      |           ^~~~~~
main.c:8:11: 備考: include ‘<string.h>’ or pro

ソースコード

diff #

char n[100010];
l;i;f;
long long r1,r2;
m1=1e9;
m2=1e9+7;
main(){
	gets(n);
	l=strlen(n);
	for(i=0;i<(l+1)/2;++i){
		r1=(r1*10+n[i]-48+(i>0||l%2==0)*9)%m1;
		r2=(r2*10+n[i]-48+(i>0||l%2==0)*9)%m2;
		f=n[i]>n[l-i-1]?1:n[i]<n[l-i-1]?0:f;
	}
	if(f){
		r1=(r1+m1-1)%m1;
		r2=(r2+m2-1)%m2;
	}
	printf("%d\n",r1);
	printf("%d\n",r2);
}
0