結果

問題 No.133 カードゲーム
コンテスト
ユーザー sasa
提出日時 2025-03-10 17:47:31
言語 C++14
(gcc 15.2.0 + boost 1.90.0)
コンパイル:
g++-15 -O2 -lm -std=c++14 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 927 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 108 ms
コンパイル使用メモリ 39,552 KB
実行使用メモリ 5,760 KB
最終ジャッジ日時 2026-07-07 01:18:20
合計ジャッジ時間 1,387 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3 WA * 1
other AC * 7 WA * 12
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <stdio.h>
int main(void){
	int num = 0;
	scanf("%d",&num);
	
	double ans = 0;
	
	int A[num];
	int *a = A;
	int B[num];
	int *b = B;
	// 入力された値を配列に格納
	for(int i = 0;i < num;i++){
		scanf("%d",&a[i]);
	}
	
	// ソート昇順
	for(int i = 0;i < num;i++){
		for(int j = 0;j < num;j++){
			if(a[i] < a[j]){
				int tmp = a[i];
				a[i] = a[j];
				a[j] = tmp;
			}
		}
	}
	// 入力された値を配列に格納
	for(int i = 0;i < num;i++){
		scanf("%d",&b[i]);
	}
	// ソート降順
	for(int i = 0;i < num;i++){
		for(int j = 0;j < num;j++){
			if(b[i] > b[j]){
				int tmp = b[i];
				b[i] = b[j];
				b[j] = tmp;
			}
		}
	}
	
	// どちらが何回勝利するかカウントする
	double countA = 0;
	double countB = 0;
	for(int i = 0;i < num;i++){
		if(a[i] > b[i]){
			countA++;
		}else{
			countB++;
		}
	}
	// 勝率の計算
	ans = countA / (countA + countB);
	
	printf("%8.6f",ans);
}
0