結果
| 問題 | No.3235 巡回減算 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-11-22 18:09:51 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 429 ms / 10,000 ms |
| コード長 | 1,359 bytes |
| コンパイル時間 | 375 ms |
| コンパイル使用メモリ | 82,700 KB |
| 実行使用メモリ | 76,372 KB |
| 最終ジャッジ日時 | 2025-11-22 18:09:59 |
| 合計ジャッジ時間 | 7,441 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 30 |
ソースコード
## https://yukicoder.me/problems/no/3373
def equal(A1, A2):
for i in range(8):
if A1[i] != A2[i]:
return False
return True
def main():
A = []
for _ in range(8):
A.append(input())
A_input = [[int(s) for s in A[i]] for i in range(7)]
A_output = [int(s) for s in A[7]]
A_input_matrix = []
for i in range(7):
array = A_input[i]
if i != 0:
array = [-s for s in array]
array_list = []
for count in range(8):
vector = [0] * 8
for i in range(8):
vector[i] = array[(i + count) % 8]
array_list.append(vector)
A_input_matrix.append(array_list)
def dfs(A_input_matrix, A_output, vector, index):
if index == 7:
return equal(vector, A_output)
for count in range(8):
a1 = A_input_matrix[index][count]
for j in range(8):
vector[j] += a1[j]
if dfs(A_input_matrix,A_output, vector, index + 1):
return True
for j in range(8):
vector[j] -= a1[j]
return False
vector = [0] * 8
result = dfs(A_input_matrix, A_output, vector, 0)
if result:
print("Yes")
else:
print("No")
if __name__ == "__main__":
main()