結果
| 問題 |
No.161 制限ジャンケン
|
| コンテスト | |
| ユーザー |
mannshi222jp
|
| 提出日時 | 2022-02-12 11:03:47 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 5,000 ms |
| コード長 | 1,599 bytes |
| コンパイル時間 | 745 ms |
| コンパイル使用メモリ | 29,056 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-28 13:01:08 |
| 合計ジャッジ時間 | 1,351 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 |
ソースコード
#include <stdio.h>
enum GCP {
G,
C,
P
};
int mGCP[3];
int eGCP[3];
int w[3];
int d[3];
char S[500];
int main()
{
int sum = 0;
scanf( "%d %d %d\n", mGCP+G, mGCP+C, mGCP+P );
scanf( "%s\n", S );
for( int i; S[i] != '\0'; i++ ) {
switch( S[i] ) {
case 'G':
eGCP[G]++;
break;
case 'C':
eGCP[C]++;
break;
case 'P':
eGCP[P]++;
break;
default:
break;
}
}
#ifdef DEBUG
printf("mGCP %d %d %d\n", mGCP[G], mGCP[C], mGCP[P] );
printf("eGCP %d %d %d\n", eGCP[G], eGCP[C], eGCP[P] );
#endif
w[G] = mGCP[G] > eGCP[C] ? eGCP[C] : mGCP[G];
w[C] = mGCP[C] > eGCP[P] ? eGCP[P] : mGCP[C];
w[P] = mGCP[P] > eGCP[G] ? eGCP[G] : mGCP[P];
sum += w[G]*3;
sum += w[C]*3;
sum += w[P]*3;
mGCP[G] -= w[G]; mGCP[C] -= w[C]; mGCP[P] -= w[P];
eGCP[G] -= w[P]; eGCP[P] -= w[C]; eGCP[C] -= w[G];
#ifdef DEBUG
printf("w %d %d %d\n", w[G], w[C], w[P] );
#endif
d[G] = mGCP[G] > eGCP[G] ? eGCP[G] : mGCP[G];
d[C] = mGCP[C] > eGCP[C] ? eGCP[C] : mGCP[C];
d[P] = mGCP[P] > eGCP[P] ? eGCP[P] : mGCP[P];
sum += d[G];
sum += d[C];
sum += d[P];
#ifdef DEBUG
printf("d %d %d %d\n", d[G], d[C], d[P] );
#endif
printf("%d\n", sum );
return 0;
}
mannshi222jp