結果
問題 |
No.435 占い(Extra)
|
ユーザー |
![]() |
提出日時 | 2023-04-26 02:32:48 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 867 bytes |
コンパイル時間 | 302 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 21,760 KB |
最終ジャッジ日時 | 2024-11-15 11:12:21 |
合計ジャッジ時間 | 59,594 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 15 WA * 2 TLE * 15 |
ソースコード
# 3を除けば9の余りを考えて良い。 INV=[0,1,5,0,7,2,0,4,8] T=int(input()) for tests in range(T): n,x,a,b,m=map(int,input().split()) now=x flag0=0 if now==0: flag0=1 ANS=0 TWO=1 THREE=0 for i in range(n): if i==0: ANS=(ANS+now%10)%9 continue now=((now^a)+b)%m if i==n-1: ANS=(ANS+now%10)%9 continue if now%10!=0: flag0=0 x=i while x%3==0: x//=3 THREE-=1 TWO=TWO*INV[x%9]%9 x=n-i while x%3==0: x//=3 THREE+=1 TWO=TWO*x%9 #print(TWO,THREE) if THREE==0: ANS=(ANS+(now%10)*TWO)%9 elif THREE==1: ANS=(ANS+(now%10)*TWO*3)%9 if ANS==0: ANS=9 print(ANS)