結果
| 問題 |
No.133 カードゲーム
|
| コンテスト | |
| ユーザー |
くれちー
|
| 提出日時 | 2016-11-19 23:42:51 |
| 言語 | C90 (gcc 12.3.0) |
| 結果 |
AC
|
| 実行時間 | 11 ms / 5,000 ms |
| コード長 | 749 bytes |
| コンパイル時間 | 331 ms |
| コンパイル使用メモリ | 23,040 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-25 03:44:53 |
| 合計ジャッジ時間 | 1,457 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 19 |
コンパイルメッセージ
main.c: In function ‘main’:
main.c:22:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
22 | scanf("%d", &n);
| ^~~~~~~~~~~~~~~
main.c:26:33: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
26 | for (i = 0; i < n; i++) scanf("%d", &a[i]);
| ^~~~~~~~~~~~~~~~~~
main.c:27:33: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
27 | for (i = 0; i < n; i++) scanf("%d", &b[i]);
| ^~~~~~~~~~~~~~~~~~
ソースコード
#include <stdio.h>
#include <stdlib.h>
int getrand(int min, int max) {
return min + (int)(rand() * (max - min + 1.0) / (1.0 + RAND_MAX));
}
void swap(int *a, int *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
void shuffle(int *d, int size) {
int tmp1 = getrand(0, size - 1);
int tmp2 = getrand(0, size - 1);
swap(&d[tmp1], &d[tmp2]);
}
int main() {
int n;
scanf("%d", &n);
int a[4], b[4];
int i, j;
for (i = 0; i < n; i++) scanf("%d", &a[i]);
for (i = 0; i < n; i++) scanf("%d", &b[i]);
int cnta = 0, num = 114514;
for (i = 0; i < num; i++) {
shuffle(a, n);
shuffle(b, n);
int cnt = 0;
for (j = 0; j < n; j++) {
if (a[j] > b[j]) cnt++;
}
if (cnt > n / 2) cnta++;
}
printf("%.3lf\n", (double)cnta / num);
return 0;
}
くれちー