質問編集履歴

2

修正

2018/05/02 15:20

投稿

python3_beginer
python3_beginer

スコア46

test CHANGED
File without changes
test CHANGED
@@ -52,66 +52,6 @@
52
52
 
53
53
 
54
54
 
55
- ・1 行目には都市の総数を表す整数 N が与えられます。
56
-
57
- ・続く N 行のうち i 行目 (1 ≦ i ≦ N) には i 番目の都市の名前を表す文字列 p_i とその都市の現地時刻の世界標準時からの進み(単位:時)を表す整数 s_i がこの順に半角スペース区切りで与えられます。
58
-
59
-   s_i が負である場合はその絶対値ぶんだけ時刻が遅れていることを表します。
60
-
61
- ・次の行には投稿を行ったユーザの所在地の都市の名前を表す文字列 q と現地時間での投稿時刻を表す文字列 t がこの順に半角スペース区切りで与えられます。
62
-
63
-   t は 0 埋め二桁の数字で時 = hh、分 = mmとし hh:mm 形式で与えられます。
64
-
65
- ・入力は合計で N + 2 行であり、入力最終行の最後に改行が 1 つ入ります。
66
-
67
-
68
-
69
-
70
-
71
- 期待する出力
72
-
73
- 都市 q のユーザの時刻 t における投稿に対し、各ユーザの画面に表示される投稿時刻を以下の形式で出力してください。
74
-
75
- d_1
76
-
77
- d_2
78
-
79
- ...
80
-
81
- d_N
82
-
83
- ・期待する出力は N 行からなります。
84
-
85
- ・出力の i 行目 (1 ≦ i ≦ N) に、i 番目の都市に住むユーザが見た時の投稿時刻を表す文字列 d_i を 0 埋め二桁の数字で時 = hh、分 = mmとし hh:mm 形式で出力してください。
86
-
87
- ・N 行目の最後に改行を 1 つ入れ、余計な文字、空行を含んではいけません。
88
-
89
-
90
-
91
-
92
-
93
- 条件
94
-
95
- すべてのテストケースで以下の条件を満たします。
96
-
97
-
98
-
99
- ・1 ≦ N ≦ 100
100
-
101
- ・各 i (1 ≦ i ≦ N) について
102
-
103
-  ・p_i は英字小文字で構成される文字列
104
-
105
-  ・1 ≦ (p_i の長さ) ≦ 20
106
-
107
-  ・-12 ≦ s_i ≦ 14
108
-
109
- ・各 i, j (1 ≦ i, j ≦ N) について、i ≠ j のとき p_i ≠ p_j
110
-
111
- ・q は p_1, p_2, …, p_N のいずれか 1 つに一致する文字列
112
-
113
- ・t は 24 時間制で実際に存在する時刻を表す
114
-
115
55
 
116
56
 
117
57
 
@@ -124,166 +64,130 @@
124
64
 
125
65
 
126
66
 
67
+
68
+
127
69
  '''
128
70
 
129
- 入力例1
130
-
131
- 6
132
-
133
- tokyo 9
134
-
135
- beijing 8
136
-
137
- singapore 7
138
-
139
- london 0
140
-
141
- newyork -5
142
-
143
- osaka 9
144
-
145
- singapore 19:38
146
-
147
-
148
-
149
- 出力例1
150
-
151
- 21:38
152
-
153
- 20:38
154
-
155
- 19:38
156
-
157
- 12:38
158
-
159
- 07:38
160
-
161
- 21:38
71
+ 入力例2
72
+
73
+ 27
74
+
75
+ howland -12
76
+
77
+ samoa -11
78
+
79
+ hawaii -10
80
+
81
+ alaska -9
82
+
83
+ california -8
84
+
85
+ arizona -7
86
+
87
+ texas -6
88
+
89
+ massachusetts -5
90
+
91
+ santiago -4
92
+
93
+ brasilia -3
94
+
95
+ greenland -2
96
+
97
+ verde -1
98
+
99
+ morocco 0
100
+
101
+ london 1
102
+
103
+ paris 2
104
+
105
+ athens 3
106
+
107
+ moscow 4
108
+
109
+ islamabad 5
110
+
111
+ astana 6
112
+
113
+ bangkok 7
114
+
115
+ hongkong 8
116
+
117
+ seoul 9
118
+
119
+ guam 10
120
+
121
+ kuril 11
122
+
123
+ southpole 12
124
+
125
+ nukualofa 13
126
+
127
+ tokelau 14
128
+
129
+ southpole 00:00
130
+
131
+
132
+
133
+ 出力例2
134
+
135
+ 00:00
136
+
137
+ 01:00
138
+
139
+ 02:00
140
+
141
+ 03:00
142
+
143
+ 04:00
144
+
145
+ 05:00
146
+
147
+ 06:00
148
+
149
+ 07:00
150
+
151
+ 08:00
152
+
153
+ 09:00
154
+
155
+ 10:00
156
+
157
+ 11:00
158
+
159
+ 12:00
160
+
161
+ 13:00
162
+
163
+ 14:00
164
+
165
+ 15:00
166
+
167
+ 16:00
168
+
169
+ 17:00
170
+
171
+ 18:00
172
+
173
+ 19:00
174
+
175
+ 20:00
176
+
177
+ 21:00
178
+
179
+ 22:00
180
+
181
+ 23:00
182
+
183
+ 00:00
184
+
185
+ 01:00
186
+
187
+ 02:00
162
188
 
163
189
  '''
164
190
 
165
- '''
166
-
167
- 入力例2
168
-
169
- 27
170
-
171
- howland -12
172
-
173
- samoa -11
174
-
175
- hawaii -10
176
-
177
- alaska -9
178
-
179
- california -8
180
-
181
- arizona -7
182
-
183
- texas -6
184
-
185
- massachusetts -5
186
-
187
- santiago -4
188
-
189
- brasilia -3
190
-
191
- greenland -2
192
-
193
- verde -1
194
-
195
- morocco 0
196
-
197
- london 1
198
-
199
- paris 2
200
-
201
- athens 3
202
-
203
- moscow 4
204
-
205
- islamabad 5
206
-
207
- astana 6
208
-
209
- bangkok 7
210
-
211
- hongkong 8
212
-
213
- seoul 9
214
-
215
- guam 10
216
-
217
- kuril 11
218
-
219
- southpole 12
220
-
221
- nukualofa 13
222
-
223
- tokelau 14
224
-
225
- southpole 00:00
226
-
227
-
228
-
229
- 出力例2
230
-
231
- 00:00
232
-
233
- 01:00
234
-
235
- 02:00
236
-
237
- 03:00
238
-
239
- 04:00
240
-
241
- 05:00
242
-
243
- 06:00
244
-
245
- 07:00
246
-
247
- 08:00
248
-
249
- 09:00
250
-
251
- 10:00
252
-
253
- 11:00
254
-
255
- 12:00
256
-
257
- 13:00
258
-
259
- 14:00
260
-
261
- 15:00
262
-
263
- 16:00
264
-
265
- 17:00
266
-
267
- 18:00
268
-
269
- 19:00
270
-
271
- 20:00
272
-
273
- 21:00
274
-
275
- 22:00
276
-
277
- 23:00
278
-
279
- 00:00
280
-
281
- 01:00
282
-
283
- 02:00
284
-
285
- '''
286
-
287
191
 
288
192
 
289
193
  M = int(input())

1

#追記 誤り訂正

2018/05/02 15:20

投稿

python3_beginer
python3_beginer

スコア46

test CHANGED
File without changes
test CHANGED
@@ -330,10 +330,6 @@
330
330
 
331
331
  #print(place_diff)
332
332
 
333
-
334
-
335
-
336
-
337
333
  #投稿された国の時刻とユーザーの居住国の時差を計算
338
334
 
339
335
  for x in range(M):
@@ -377,3 +373,79 @@
377
373
  期待値を出力できましたが、皆様の率直な意見を頂戴したいです。
378
374
 
379
375
  読みづらいや、わかりづらいなど、どんな意見でもいいので更なる成長のためにアドバイスいただきたいです。
376
+
377
+
378
+
379
+
380
+
381
+ #追記 
382
+
383
+
384
+
385
+ 皆さま貴重なご意見ありがとうございます。
386
+
387
+ その中で、hayataka様からオリジナルコードが誤っているとご指摘を受けました。
388
+
389
+ そのため、皆さまのアドバイスを参照にコードを再編集致しました。
390
+
391
+
392
+
393
+ ただ、ジャッジ結果によると、9/10 とういパーフエクトなロジックにはなりませんでした。
394
+
395
+ 現状、理由を解明することができず、解決方法に正しいコードを載せるまで至っておりません。
396
+
397
+
398
+
399
+ 前回の内容で、誤った内容を展開してしまし申し訳ございません。
400
+
401
+ 今後、内容を精査し解決方法を更新できるよう努力致します。
402
+
403
+ 取り急ぎ失礼致します。
404
+
405
+
406
+
407
+
408
+
409
+ ```ここに言語を入力
410
+
411
+ コード
412
+
413
+
414
+
415
+ from collections import OrderedDict
416
+
417
+
418
+
419
+ n = int(input())
420
+
421
+
422
+
423
+ timezone_table = OrderedDict()
424
+
425
+ for _ in range(n):
426
+
427
+ city, diff = input().split()
428
+
429
+ timezone_table[city] = int(diff)
430
+
431
+
432
+
433
+ base_city, base_time = input().split()
434
+
435
+ base_hour, base_minute = map(int, base_time.split(':'))
436
+
437
+
438
+
439
+ standard_hour = (base_hour - timezone_table[base_city]) % 24
440
+
441
+ for diff in timezone_table.values():
442
+
443
+ ans_hour = (standard_hour + diff) % 24
444
+
445
+ print("{0:02d}:{1}".format(ans_hour, base_minute))
446
+
447
+
448
+
449
+
450
+
451
+ ```