結果
| 問題 |
No.812 Change of Class
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-04-12 23:52:54 |
| 言語 | Kuin (KuinC++ v.2021.9.17) |
| 結果 |
AC
|
| 実行時間 | 588 ms / 4,000 ms |
| コード長 | 1,273 bytes |
| コンパイル時間 | 2,717 ms |
| コンパイル使用メモリ | 151,292 KB |
| 実行使用メモリ | 18,688 KB |
| 最終ジャッジ日時 | 2024-09-16 10:11:10 |
| 合計ジャッジ時間 | 14,704 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 60 |
ソースコード
func main()
var ss: [][]char
do ss :: cui@input().split(" ")
var N: int :: ss[0].toInt(&)
var M: int :: ss[1].toInt(&)
var friends: []list<int> :: #[N]list<int>
for i(0, N - 1)
do friends[i] :: #list<int>
end for
for i(0, M - 1)
do ss :: cui@input().split(" ")
var p: int :: ss[0].toInt(&) - 1
var q: int :: ss[1].toInt(&) - 1
do friends[p].add(q)
do friends[q].add(p)
end for
var Q: int :: cui@input().toInt(&)
var st: queue<int> :: #queue<int>
var people: []int :: #[N]int
for(1, Q)
for i(0, N - 1)
do people[i] :: 0
end for
var A: int :: cui@input().toInt(&) - 1
do people[A] :: 1
do st.add(A)
var num: int :: 0
while(^st <> 0)
var p: int :: st.get()
do friends[p].head()
for i(0, ^friends[p] - 1)
var f: int :: friends[p].get()
do friends[p].next()
if(people[f] = 0)
do people[f] :: people[p] + 1
do num :+ 1
do st.add(f)
else
if(people[p] + 1 < people[f])
do people[f] :: people[p] + 1
end if
end if
end for
end while
var len: int :: 0
for i(0, N - 1)
if(people[i] > len)
do len :: people[i]
end if
end for
do len :- 1
var ans: int :: 0
while(2 ^ ans < len)
do ans :+ 1
end while
do cui@print("\{num} \{ans}\n")
end for
end func