提出 #179472


ソースコード 拡げる

<?php
	//答えの計算
	function calc_answer($ave, $patern) {
		return $ave / $patern;
	}
	
	//階乗の結果を返す
	function kaijo($n) { 
		$result = 1;
		for ($i=$n; $i>0;$i--) {
			$result *= $i;
		}
		return $result;
	}
	
	//表向きのコインの数を返す関数
	function sum($coin, $N) {  
		shuffle($coin);
		//コインの倍数チェック→num = 表:1、裏:0
		for ($i=0; $i<$N;$i++) {
			for($j=$i+1; $j<$N;$j++) {
				if(($coin[$j]['num'] % $coin[$i]['num']) == 0) {
					if($coin[$j]['status'] == 0) {$coin[$j]['status'] = 1;}
					else {$coin[$j]['status'] = 0;}
				}
			}
		}

		//表向きのコインの数を数える
		$sum = 0;
		for ($i=0;$i<$N;$i++) {
			if($coin[$i]['status'] == 1) {
				$sum++;
			}
		}
		
		return $sum;
	}
	

	//初期化
	$coins = array();

	//値の入力
	fscanf(STDIN, "%d", $N);  
	for($i=0; $i<$N; $i++) {
		fscanf(STDIN, "%d", $coins[$i]);	
	}
	
	// パターン数だけ繰り返し
	
	// 計算
	function calcPattern($coins, $pattern = array()) {
		if(count($coins) == 0) {
			$m = count($pattern);
			foreach($pattern as $k => $v) {
				$pattern[$k] = array('num' => $v, 'status' => 1);
			}
			for($i = 0; $i < $m; $i++) {
				for($j = $i+1; $j < $m; $j++) {
					if(($pattern[$j]['num'] % $pattern[$i]['num']) == 0) {
						if($pattern[$j]['status'] == 0) {$pattern[$j]['status'] = 1;}
						else {$pattern[$j]['status'] = 0;}
					}
				}
			}
			
			$sum = 0;
			for($i = 0; $i < $m; $i++) {
				if($pattern[$i]['status'] == 1) {
					$sum++;
				}
			}
			return array('cnt' => 1, 'sum' => $sum);
		}
		
		$result = array('cnt' => 0, 'sum' => 0);
		for($i = 0; $i < count($coins); $i++) {
			$coin = $coins[$i];
			
			$pattern2 = array_merge(array(), $pattern);
			$pattern2[] = $coin;
			
			$coins2 = array_merge(array(), $coins);
			unset($coins2[$i]);
			$coins2 = array_values($coins2);
			
			$tmp = calcPattern($coins2, $pattern2);
			$result['sum'] += $tmp['sum'];
			$result['cnt'] += $tmp['cnt'];
		}

		return $result;
	}
	
	$ans = calcPattern($coins);
	$ans = $ans['sum'] / $ans['cnt'];
	
	echo $ans . "\n";
	
	//echo "---------------------\n";
	//var_dump(3.1000 <= $ans && $ans <= 3.100001);

提出情報

提出日時
問題 C - コイン
ユーザ sters
言語 PHP (PHP 5.3.10)
得点 99
コード長 2288 Byte
結果 TLE
実行時間 2035 ms
メモリ 5628 KiB

ジャッジ結果

セット名 Sample Subtask1 Subtask2
得点 / 配点 0 / 0 99 / 99 0 / 1
結果
AC × 3
AC × 20
AC × 20
TLE × 20
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt
Subtask2 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 41 ms 3812 KiB
sample_02.txt AC 41 ms 3816 KiB
sample_03.txt AC 44 ms 3820 KiB
subtask1_01.txt AC 39 ms 3712 KiB
subtask1_02.txt AC 61 ms 3820 KiB
subtask1_03.txt AC 41 ms 3820 KiB
subtask1_04.txt AC 1435 ms 3668 KiB
subtask1_05.txt AC 1492 ms 3816 KiB
subtask1_06.txt AC 205 ms 3820 KiB
subtask1_07.txt AC 1389 ms 3812 KiB
subtask1_08.txt AC 63 ms 3812 KiB
subtask1_09.txt AC 45 ms 3820 KiB
subtask1_10.txt AC 1463 ms 3756 KiB
subtask1_11.txt AC 62 ms 3808 KiB
subtask1_12.txt AC 1388 ms 3824 KiB
subtask1_13.txt AC 43 ms 3816 KiB
subtask1_14.txt AC 221 ms 3816 KiB
subtask1_15.txt AC 1512 ms 3816 KiB
subtask1_16.txt AC 1405 ms 3812 KiB
subtask1_17.txt AC 1557 ms 3812 KiB
subtask1_18.txt AC 1550 ms 3748 KiB
subtask1_19.txt AC 1499 ms 3820 KiB
subtask1_20.txt AC 1480 ms 3680 KiB
subtask2_01.txt TLE 2031 ms 3816 KiB
subtask2_02.txt TLE 2032 ms 3940 KiB
subtask2_03.txt TLE 2031 ms 3944 KiB
subtask2_04.txt TLE 2030 ms 4328 KiB
subtask2_05.txt TLE 2032 ms 5604 KiB
subtask2_06.txt TLE 2032 ms 4960 KiB
subtask2_07.txt TLE 2030 ms 4716 KiB
subtask2_08.txt TLE 2032 ms 5608 KiB
subtask2_09.txt TLE 2031 ms 5612 KiB
subtask2_10.txt TLE 2032 ms 5628 KiB
subtask2_11.txt TLE 2035 ms 5540 KiB
subtask2_12.txt TLE 2033 ms 5612 KiB
subtask2_13.txt TLE 2033 ms 4576 KiB
subtask2_14.txt TLE 2031 ms 5604 KiB
subtask2_15.txt TLE 2032 ms 5600 KiB
subtask2_16.txt TLE 2031 ms 5604 KiB
subtask2_17.txt TLE 2030 ms 5608 KiB
subtask2_18.txt TLE 2031 ms 4580 KiB
subtask2_19.txt TLE 2029 ms 5604 KiB
subtask2_20.txt TLE 2030 ms 5608 KiB