Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Card Order */
- #include "stdafx.h"
- #include "stdio.h"
- #include <iostream>
- #include <fstream>
- #include <vector>
- #include <algorithm>
- #include <functional>
- #include <queue>
- #include <map>
- #include <set>
- #include <deque>
- using namespace std;
- class algorithm
- {
- public:
- void solution(char *input, char *output);
- };
- typedef std::pair<int, int> ii;
- void algorithm::solution(char *input, char *output)
- {
- ifstream infile(input);
- ofstream outfile;
- outfile.open(output);
- size_t T;
- infile >> T;
- for (size_t t = 0; t < T; ++t)
- {
- size_t N;
- infile >> N;
- std::deque<ii> Q;
- std::vector<ii> outp;
- for(size_t i = 1; i <= N; ++i)
- {
- Q.push_back(std::make_pair(i, 0));
- }
- size_t qsize;
- while((qsize = Q.size()) > 0)
- {
- if(qsize > 1)
- {
- ii top = Q.front();
- Q.pop_front();
- Q.push_back(top);
- }
- ii top = Q.front();
- Q.pop_front();
- top.second = 1 + outp.size();
- outp.push_back(top);
- }
- std::sort(outp.begin(), outp.end());
- for(size_t i = 0; i < outp.size(); ++i)
- {
- outfile << outp[i].second << ' ';
- }
- outfile << '\n';
- }
- }
- #if 1
- int main(int argc, char * argv[])
- {
- algorithm().solution("input.txt", "output.txt");
- return 0;
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment