白駿10845:Q
10845キュー
質問する
に答える
これは実装キューの基本的な問題です.
基本的なC++STLキューの使い方を理解します.
Pythonはqueueをリストとして実装する.
また、input()への書き込みはタイムアウトします.
sys.stdin.readline()に書き込む必要があります.
C++コード
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main() {
int N;
cin >> N;
queue<int> Q;
while(N--) {
string M;
cin >> M;
if(M == "push") {
int dt;
cin >> dt;
Q.push(dt);
}
else if(M == "pop") {
if(Q.empty()) {
cout << -1 << endl;
}
else {
cout << Q.front() << endl;
Q.pop();
}
}
else if(M == "size") {
cout << Q.size() << endl;
}
else if(M == "empty") {
cout << Q.empty() << endl;
}
else if(M == "front") {
if(Q.empty()) {
cout << -1 << endl;
}
else {
cout << Q.front() << endl;
}
}
else if(M == "back") {
if(Q.empty()) {
cout << -1 << endl;
}
else {
cout << Q.back() << endl;
}
}
}
return 0;
}
Pythonコード
import sys
Q = []
N = int(sys.stdin.readline())
for i in range(N):
command = sys.stdin.readline().split()
if command[0] == "push":
dt = command[1]
Q.append(dt)
elif command[0] == "pop":
if len(Q) == 0:
print(-1)
else:
print(Q.pop(0))
elif command[0] == "size":
print(len(Q))
elif command[0] == "empty":
if len(Q) == 0:
print(1)
else:
print(0)
elif command[0] == "front":
if len(Q) == 0:
print(-1)
else:
print(Q[0])
elif command[0] == "back":
if len(Q) == 0:
print(-1)
else:
print(Q[-1])
Reference
この問題について(白駿10845:Q), 我々は、より多くの情報をここで見つけました https://velog.io/@imchanyang/백준-10845-큐テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol