結果
問題 | No.2871 Universal Serial Bus |
ユーザー |
|
提出日時 | 2024-09-06 22:02:31 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 43 ms / 2,000 ms |
コード長 | 1,454 bytes |
コンパイル時間 | 271 ms |
コンパイル使用メモリ | 82,708 KB |
実行使用メモリ | 54,068 KB |
最終ジャッジ日時 | 2024-09-06 22:02:37 |
合計ジャッジ時間 | 1,609 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 18 |
ソースコード
import sysinput = sys.stdin.readlineH, W = map(int, input().split())S = [input().strip() for _ in range(H)]T = [input().strip() for _ in range(H)]Srev = [["" for _ in range(W)] for _ in range(H)]for i in range(H):for j in range(W):Srev[H-1-i][W-1-j] = S[i][j]flag = Truefor i in range(H):for j in range(W):if S[i][j]==T[i][j]:flag = Falsebreakif flag==False:breakflagrev = Truefor i in range(H):for j in range(W):if Srev[i][j]==T[i][j]:flagrev = Falsebreakif flagrev==False:breakif flag and flagrev:ans = 0anspre = -1i = 1fail = 1while ans-anspre>10**(-7):f = 1/(2**(i-1))if f<1:anspre = ansans += i*(1-f)*failfail *= fi+=1print(ans)elif flag:ans = 0anspre = -1i = 1fail = 1while ans-anspre>10**(-7):if i%2==1:f = 1/(2**(i-1))else:f = 1if f<1:anspre = ansans += i*(1-f)*failfail *= fi+=1print(ans)elif flagrev:ans = 0anspre = -1i = 1fail = 1while ans-anspre>10**(-7):if i%2==0:f = 1/(2**(i-1))else:f = 1if f<1:anspre = ansans += i*(1-f)*failfail *= fi+=1print(ans)else:print(-1)