結果
| 問題 |
No.1275 綺麗な式
|
| コンテスト | |
| ユーザー |
遭難者
|
| 提出日時 | 2020-10-18 17:42:55 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,213 bytes |
| コンパイル時間 | 2,562 ms |
| コンパイル使用メモリ | 77,516 KB |
| 実行使用メモリ | 41,616 KB |
| 最終ジャッジ日時 | 2024-07-21 07:56:00 |
| 合計ジャッジ時間 | 12,351 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 WA * 1 |
| other | AC * 5 WA * 55 |
ソースコード
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
PrintWriter ou = new PrintWriter(System.out);
int a = Integer.parseInt(sc.next());
int b = Integer.parseInt(sc.next());
long n = Long.parseLong(sc.next());
if(n == 0) ou.println(2);
else{
long x = 1;
long y = 0;
long z = 0;
long w = 1;
long p = 2 * a;
p %= (long)(Math.pow(10 , 9) + 7);
long q = b - a * (long)a;
q %= Math.pow(10 , 9) + 7;
long r = 1;
long s = 0;
n--;
while(n != 0){
if((n & 1) == 1){
x = x * p + y * r;
x %= Math.pow(10 , 9) + 7;
y = x * q + y * s;
y %= Math.pow(10 , 9) + 7;
z = z * p + w * r;
z %= Math.pow(10 , 9) + 7;
w = z * q + w * s;
w %= Math.pow(10 , 9) + 7;
}
p = p * p + q * r;
p %= Math.pow(10 , 9) + 7;
q = p * q + q * s;
q %= Math.pow(10 , 9) + 7;
r = p * r + r * s;
r %= Math.pow(10 , 9) + 7;
s = r * q + s * s;
s %= Math.pow(10 , 9) + 7;
n >>= 1;
}
x = 2 * a * x + 2 * y;
x %= Math.pow(10 , 9) + 7;
while(x < 0) x += Math.pow(10 , 9) + 7;
ou.println(x);
}
ou.flush();
sc.close();
}
}
遭難者