結果
| 問題 |
No.959 tree and fire
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-03-18 22:33:00 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,031 bytes |
| コンパイル時間 | 3,101 ms |
| コンパイル使用メモリ | 77,872 KB |
| 実行使用メモリ | 41,920 KB |
| 最終ジャッジ日時 | 2024-12-14 02:39:11 |
| 合計ジャッジ時間 | 12,544 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 35 WA * 19 |
ソースコード
import java.util.Arrays;
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
new Main().run();
}
double pow(double a,long n) {
double ret=1;
for(;n>0;n/=2,a*=a)if(n%2==1)ret*=a;
return ret;
}
void run() {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int m=sc.nextInt();
double p=sc.nextDouble();
long center=Math.max(n-2, 0)*Math.max(m-2, 0);
long lateral_side=Math.max(m-2,0)*Math.min(n,2);
long vertical_side=Math.max(n-2, 0)*Math.min(m,2);
long corner=Math.min(2, n)*Math.min(2, m);
long area_center=5;
long area_corner=1+Math.min(n-1,1)+Math.min(m-1,1);
long area_lateral_side=3+Math.min(n-1, 1);
long area_vertical_side=3+Math.min(m-1, 1);
System.out.println(center*pow(p,area_center)+corner*pow(p,area_corner)+lateral_side*pow(p,area_lateral_side)+vertical_side*pow(p,area_vertical_side));
}
void tr(Object... objects) {
System.out.println(Arrays.deepToString(objects));
}
}