BOJ2164
2426 ワード
BOJ2164. カード。
質問する
コード1(リスト構造)
#include <iostream>
#include <list>
using namespace std;
int main(int argc, char const *argv[])
{
cin.tie(NULL);
ios::sync_with_stdio(false);
int n;
cin >> n;
list<int> lt;
for (int i = 1; i <= n; i++)
{
lt.push_back(i);
}
while (lt.size() > 1)
{
lt.pop_front();
lt.push_back(lt.front());
lt.pop_front();
}
cout << lt.front() << '\n';
return 0;
}
コード2(キューデータ構造)
#include <iostream>
#include <queue>
using namespace std;
int main()
{
cin.tie(NULL);
ios::sync_with_stdio(false);
int n;
cin >> n;
queue<int> q;
for (int i = 1; i <= n; i++)
{
q.push(i);
}
while (q.size() > 1)
{
q.pop();
q.push(q.front());
q.pop();
}
cout << q.front() << '\n';
return 0;
}
#include <iostream>
#include <list>
using namespace std;
int main(int argc, char const *argv[])
{
cin.tie(NULL);
ios::sync_with_stdio(false);
int n;
cin >> n;
list<int> lt;
for (int i = 1; i <= n; i++)
{
lt.push_back(i);
}
while (lt.size() > 1)
{
lt.pop_front();
lt.push_back(lt.front());
lt.pop_front();
}
cout << lt.front() << '\n';
return 0;
}
#include <iostream>
#include <queue>
using namespace std;
int main()
{
cin.tie(NULL);
ios::sync_with_stdio(false);
int n;
cin >> n;
queue<int> q;
for (int i = 1; i <= n; i++)
{
q.push(i);
}
while (q.size() > 1)
{
q.pop();
q.push(q.front());
q.pop();
}
cout << q.front() << '\n';
return 0;
}
while (!lt.empty())
{
lt.pop_front();
int temp = lt.front();
if (lt.size() == 1)
{
cout << temp << endl;
break;
}
lt.pop_front();
lt.push_back(temp);
}
Reference
この問題について(BOJ2164), 我々は、より多くの情報をここで見つけました https://velog.io/@aksel26/BOJ2164テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol