結果
問題 | No.403 2^2^2 |
ユーザー |
![]() |
提出日時 | 2020-03-30 20:32:58 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,987 bytes |
コンパイル時間 | 2,437 ms |
コンパイル使用メモリ | 79,316 KB |
実行使用メモリ | 42,772 KB |
最終ジャッジ日時 | 2024-06-23 02:22:11 |
合計ジャッジ時間 | 7,890 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 8 WA * 19 |
ソースコード
import java.util.*;public class Main {static Scanner sc = new Scanner(System.in);static void myout(Object t){System.out.println(t);}//standard outputstatic void myerr(Object t){System.err.println(t);}//standard errorstatic String getStr(){return sc.next();}static int getInt(){return Integer.parseInt(getStr());}static long getLong(){return Long.parseLong(getStr());}static boolean hasNext(){return sc.hasNext();}static char[] mySplit(String str){return str.toCharArray();}public static void main(String[] args){char[] tmp = mySplit(getStr());String strA = "";String strB = "";String strC = "";boolean accessA = false;boolean accessB = false;for(int i = 0; i < tmp.length; i++){if(!accessA){if(tmp[i] != '^'){strA += tmp[i];}else{accessA = true;}}else if(!accessB){if(tmp[i] != '^'){strB += tmp[i];}else{accessB = true;}}else{strC += tmp[i];}}long A = Long.parseLong(strA);long B = Long.parseLong(strB);long C = Long.parseLong(strC);long mod = 1000000007;myout(originPow(originPow(A,B,mod),C,mod) + " " + originPow(A,originPow(B,C,mod),mod));}//Method addition frame startstatic long originPow(long x, long n) {return originPow(x,n,-1);}static long originPow(long x, long n, long m) {long ans = 1;while (n > 0) {if ((n & 1) == 1){ans = ans * x;if(m != -1){ans %= m;}}x = x * x;if(m != -1){x %= m;}n >>= 1;}return ans;}//Method addition frame end}