結果
問題 |
No.483 マッチ並べ
|
ユーザー |
|
提出日時 | 2017-02-20 21:29:59 |
言語 | Python2 (2.7.18) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,991 bytes |
コンパイル時間 | 203 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-30 10:56:26 |
合計ジャッジ時間 | 2,537 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 3 |
other | RE * 53 |
ソースコード
#!/usr/bin/env/ python # -*- coding:utf-8 -*- import numpy as np import Queue N = raw_input() N = int(N) mat = np.zeros([100,100], dtype=np.int8) for i in range(N): ra,ca,rb,cb = raw_input().split() ra = int(ra) ca = int(ca) rb = int(rb) cb = int(cb) mat[ra-1,ca-1] += 1 mat[rb-1,cb-1] += 1 YES_NO = True flag = np.zeros([100,100],dtype=bool) q = Queue.Queue() exit() for x in range(100): for y in range(100): if flag[x][y] == False and mat[x][y] > 0: rc = [] edge = 0 q.put([x,y]) rc.append([x,y]) flag[x][y] = True edge += mat[x][y] while not q.empty(): pos = q.get() tmpx = pos[0] tmpy = pos[1] if flag[tmpx-1][tmpy] == False and mat[tmpx-1][tmpy] > 0 and tmpx>0: q.put([tmpx-1,tmpy]) flag[tmpx-1][tmpy] = True rc.append([tmpx-1,tmpy]) edge += mat[tmpx-1][tmpy] if flag[tmpx+1][tmpy] == False and mat[tmpx+1][tmpy] > 0 and tmpx<100: q.put([tmpx+1,tmpy]) flag[tmpx+1][tmpy] = True rc.append([tmpx+1,tmpy]) edge += mat[tmpx+1][tmpy] if flag[tmpx][tmpy-1] == False and mat[tmpx][tmpy-1] > 0 and tmpy>0: q.put([tmpx,tmpy-1]) flag[tmpx][tmpy-1] = True rc.append([tmpx,tmpy-1]) edge += mat[tmpx][tmpy-1] if flag[tmpx][tmpy+1] == False and mat[tmpx][tmpy+1] > 0 and tmpy<100: q.put([tmpx,tmpy+1]) flag[tmpx][tmpy+1] = True rc.append([tmpx,tmpy+1]) edge += mat[tmpx][tmpy+1] edge = edge / 2 if edge > len(rc): YES_NO = False if YES_NO: print 'YES' else: print 'NO'