結果

問題 No.471 直列回転機
ユーザー 6soukiti296soukiti29
提出日時 2017-03-21 17:27:49
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
AC  
実行時間 1,547 ms / 3,141 ms
コード長 1,203 bytes
コンパイル時間 220 ms
コンパイル使用メモリ 10,904 KB
実行使用メモリ 31,692 KB
平均クエリ数 19588.37
最終ジャッジ日時 2023-09-02 03:55:43
合計ジャッジ時間 41,514 ms
ジャッジサーバーID
(参考情報)
judge16 / judge13
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 46 ms
23,888 KB
testcase_01 AC 39 ms
23,904 KB
testcase_02 AC 40 ms
24,224 KB
testcase_03 AC 39 ms
23,872 KB
testcase_04 AC 38 ms
23,900 KB
testcase_05 AC 54 ms
24,016 KB
testcase_06 AC 45 ms
24,408 KB
testcase_07 AC 51 ms
23,824 KB
testcase_08 AC 233 ms
25,264 KB
testcase_09 AC 240 ms
24,876 KB
testcase_10 AC 140 ms
24,904 KB
testcase_11 AC 651 ms
27,012 KB
testcase_12 AC 1,255 ms
30,436 KB
testcase_13 AC 1,292 ms
30,176 KB
testcase_14 AC 1,426 ms
31,324 KB
testcase_15 AC 1,547 ms
31,496 KB
testcase_16 AC 49 ms
24,316 KB
testcase_17 AC 39 ms
24,132 KB
testcase_18 AC 39 ms
23,892 KB
testcase_19 AC 38 ms
24,360 KB
testcase_20 AC 1,475 ms
31,420 KB
testcase_21 AC 300 ms
25,020 KB
testcase_22 AC 1,301 ms
30,268 KB
testcase_23 AC 1,245 ms
30,744 KB
testcase_24 AC 711 ms
27,844 KB
testcase_25 AC 236 ms
25,248 KB
testcase_26 AC 1,462 ms
31,596 KB
testcase_27 AC 678 ms
27,928 KB
testcase_28 AC 836 ms
28,524 KB
testcase_29 AC 938 ms
28,828 KB
testcase_30 AC 370 ms
25,980 KB
testcase_31 AC 1,440 ms
31,692 KB
testcase_32 AC 1,194 ms
30,004 KB
testcase_33 AC 952 ms
29,152 KB
testcase_34 AC 1,410 ms
30,796 KB
testcase_35 AC 314 ms
25,420 KB
testcase_36 AC 590 ms
27,020 KB
testcase_37 AC 185 ms
24,544 KB
testcase_38 AC 281 ms
25,524 KB
testcase_39 AC 474 ms
26,580 KB
testcase_40 AC 1,024 ms
28,976 KB
testcase_41 AC 1,479 ms
31,488 KB
testcase_42 AC 951 ms
28,844 KB
testcase_43 AC 1,360 ms
30,888 KB
testcase_44 AC 139 ms
24,612 KB
testcase_45 AC 905 ms
28,392 KB
testcase_46 AC 1,074 ms
29,088 KB
testcase_47 AC 1,386 ms
31,236 KB
testcase_48 AC 1,160 ms
29,720 KB
testcase_49 AC 1,149 ms
29,712 KB
testcase_50 AC 1,340 ms
31,104 KB
testcase_51 AC 555 ms
26,828 KB
testcase_52 AC 52 ms
23,648 KB
testcase_53 AC 52 ms
24,156 KB
testcase_54 AC 60 ms
23,668 KB
testcase_55 AC 344 ms
25,768 KB
testcase_56 AC 270 ms
25,176 KB
testcase_57 AC 182 ms
24,608 KB
testcase_58 AC 136 ms
24,216 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

# -*- coding: utf-8 -*- 

def idou(x,y,dx,dy):
	x2 = x + dx
	y2 = y + dy
	return x2,y2
def Kaiten(x,y,t):
	if t == 90:
		x2 = -y
		y2 = x
		return x2,y2
	elif t == 180:
		x2 = -x
		y2 = -y
		return x2,y2
	elif t == 270:
		x2 = y
		y2 = -x
		return x2,y2
	elif t == 0:
		return x,y
	
M = int(input())
P = []
for m in range(M):
	x,y = map(int,input().split())
	P.append([x,y])
	
print("?",P[0][0],P[0][1],flush = True)
x1,y1 = map(int,input().split())
if M == 1:
	print("!",flush =True)
	print(x1,y1,flush = True)
elif M > 1:
	print("?",P[1][0],P[1][1],flush = True)
	x2,y2 = map(int,input().split())
	arg = [P[0][0] - P[1][0],P[0][1] - P[1][1],x1 - x2, y1 - y2]
	if arg[0] == arg[2] and arg[1] == arg[3]:
		kaiten = 0
	elif arg[0] == arg[3] and arg[1] == -arg[2]:
		kaiten = 90
	elif arg[0] == -arg[3] and arg[1] == arg[2]:
		kaiten = 270
	elif arg[0] == -arg[2] and arg[1] == -arg[3]:
		kaiten = 180
	a,b = P[0][0],P[0][1]
	for i,p in enumerate(P):
		
		P[i][0],P[i][1] = idou(p[0],p[1],-a,-b)
	for i,p in enumerate(P):
		P[i][0],P[i][1] = Kaiten(p[0],p[1],kaiten)
	for i,p in enumerate(P):
		P[i][0],P[i][1] = idou(p[0],p[1],x1,y1)
	print("!",flush = True)
	for p in P:
		print(p[0],p[1],flush = True)
0