結果
| 問題 |
No.1258 コインゲーム
|
| コンテスト | |
| ユーザー |
遭難者
|
| 提出日時 | 2020-10-19 09:36:03 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 1,207 ms / 2,000 ms |
| コード長 | 976 bytes |
| コンパイル時間 | 1,816 ms |
| コンパイル使用メモリ | 77,716 KB |
| 実行使用メモリ | 57,888 KB |
| 最終ジャッジ日時 | 2024-07-21 07:49:24 |
| 合計ジャッジ時間 | 45,927 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 50 |
ソースコード
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 s = Integer.parseInt(sc.next());
for(int q = 0 ; q < s ; q++){
int n = Integer.parseInt(sc.next());
int m = Integer.parseInt(sc.next());
int x = Integer.parseInt(sc.next());
long zz = 1;
long zzz = 1 + m;
long yyy = 1 - m;
long yy = 1;
while(n != 0){
if(n % 2 != 0){
zz *= zzz;
yy *= yyy;
zz %= (int)Math.pow(10 , 9) + 7;
yy %= (int)Math.pow(10 , 9) + 7;
}
n /= 2;
zzz *= zzz;
yyy *= yyy;
zzz %= (int)Math.pow(10 , 9) + 7;
yyy %= (int)Math.pow(10 , 9) + 7;
}
if(x == 0) zz += yy;
else zz -= yy;
while(zz < 0) zz += (int)Math.pow(10 , 9) + 7;
if(zz % 2 == 1) zz += (int)Math.pow(10 , 9) + 7;
zz /= 2;
zz %= (int)Math.pow(10 , 9) + 7;
ou.println(zz);
}
ou.flush();
sc.close();
}
}
遭難者