結果
問題 | 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;}