답안 #1002896

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1002896 2024-06-19T21:12:44 Z PagodePaiva MalnaRISC (COI21_malnarisc) C++17
0 / 100
1 ms 600 KB
#include<bits/stdc++.h>
#define endl '\n'
#define int long long

using namespace std;

const int debug = 0;

int32_t main(){
	int n;
	cin >> n;
	vector <pair <int, int>> mergear;
	for(int i = 1;i <= n;i++){
		mergear.push_back({i, i});
	}
	vector <vector <pair <int, int>>> res;
	while(mergear.size() > 1){
		vector <pair <int, int>> aux[100];
		vector <pair <int, int>> novo;
		for(int i = 0;i+1 < mergear.size();i += 2){
			auto [l1, r1] = mergear[i];
			auto [l2, r2] = mergear[i+1];
			novo.push_back({l1, r2});
			int con = 0;
			while(r1-l1+1 > 1 and r2-l2+1 > 1){
				aux[con].push_back({l1, l2});
				aux[con].push_back({r1, r2});
				l1++;
				r2--;
				con++;
			}
			if(l1 == r1){
				for(int i = l2;i <= r2;i++){
					aux[con].push_back({l1, i});
					con++;
				}
			}
			else{
				for(int i = r1;i >= l1;i--){
					aux[con].push_back({r2, i});
					con++;
				}
			}
		}
		for(int i = 0;i < 100;i++){
			if(!aux[i].empty()) res.push_back(aux[i]);
		}
		if(mergear.size() % 2) novo.push_back(mergear.back());
		mergear = novo;
	}
	cout << res.size() << endl;
	for(auto vec : res){
		for(auto x : vec){
			cout << "CMPSWP R" << x.first << " R" << x.second << ' ';
		}
		cout << endl;
	}
	return 0;
}

Compilation message

malnarisc.cpp: In function 'int32_t main()':
malnarisc.cpp:20:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |   for(int i = 0;i+1 < mergear.size();i += 2){
      |                 ~~~~^~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 600 KB not sorted
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB not sorted
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB not sorted
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 348 KB not sorted
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB not sorted
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB not sorted
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB not sorted
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB not sorted
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB not sorted
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB not sorted
2 Halted 0 ms 0 KB -