結果
| 問題 | 
                            No.435 占い(Extra)
                             | 
                    
| コンテスト | |
| ユーザー | 
                             🐬hec
                         | 
                    
| 提出日時 | 2016-04-29 16:42:08 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                MLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,195 bytes | 
| コンパイル時間 | 412 ms | 
| コンパイル使用メモリ | 82,048 KB | 
| 実行使用メモリ | 115,544 KB | 
| 最終ジャッジ日時 | 2024-10-08 11:28:45 | 
| 合計ジャッジ時間 | 7,068 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | MLE * 4 | 
| other | TLE * 2 MLE * 30 | 
ソースコード
from ctypes import *
#MacOSX
#libc=CDLL("libSystem.B.dylib")
#Linux
libc = CDLL("libc.so.6")     
printf = libc.printf
scanf = libc.scanf
#!/usr/bin/env python3
num_idx=[0,0,1,0,2,5,0,4,3,0]
two_idx=[1,2,4,8,7,5]
t=c_int()
scanf(b"%d",byref(t))
buf=(c_char* 2000001)()
for loop in range(t.value):
    scanf(b"%s",byref(buf))
    s=str(buf.value.decode('utf-8'))
    n=len(s)
    allzero=True
    for i in range(n):
        if s[i]!='0':
            allzero=False
    if allzero:
        print("0")
        continue
    
    ans=0
    num=n-1
    den=1
    two=0
    three=0
    for i in range(n):
        if three<=1:
            cur=int(s[i]);
            cur=cur*two_idx[two%6]
            if three==1:
                cur*=3
            ans+=cur;
                
        if i==n-1:
            break;
        tmp=num;
        while tmp%3==0:
            tmp/=3
            three+=1
            
        two+=(num_idx[int(tmp%9)]);
                
        tmp=den;
        while tmp%3==0:
            tmp/=3
            three-=1;
        two+=(6-num_idx[int(tmp%9)]);                
        num-=1
        den+=1
    ans%=9
    if ans ==0:
        ans=9;
    printf(b"%d\n",ans);
            
            
            
        
            
🐬hec