Submission #1003609

#TimeUsernameProblemLanguageResultExecution timeMemory
1003609pedroslreyMalnaRISC (COI21_malnarisc)C++17
40 / 100
1 ms348 KiB
#include <bits/stdc++.h> using namespace std; using ops = vector<vector<pair<int, int>>>; ops faz_morro(int n) { if (n == 1) return {}; ops ans(1); int m = (n + 1)/2; for (int i = 0; i < n/2; ++i) ans.back().emplace_back(i, i + m); auto xss = faz_morro(n/2); auto yss = faz_morro((n + 1)/2); for (int i = 0; i < yss.size(); ++i) { ans.emplace_back(); if (i < xss.size()) for (auto [a, b]: xss[i]) ans.back().emplace_back(a, b); int m = n/2; for (auto [a, b]: yss[i]) ans.back().emplace_back(a + m, b + m); } return ans; } ops solve(int n) { if (n == 1) return {}; auto xss = solve(n/2); auto yss = solve((n + 1)/2); ops ans; for (int i = 0; i < yss.size(); ++i) { ans.emplace_back(); if (i < xss.size()) for (auto [a, b]: xss[i]) ans.back().emplace_back(a, b); int m = n/2; for (auto [a, b]: yss[i]) ans.back().emplace_back(b + m, a + m); } auto mss = faz_morro(n); for (auto &ms: mss) { ans.emplace_back(); for (auto m: ms) ans.back().push_back(m); } return ans; } int main() { int n; cin >> n; ops ans = solve(n); cout << ans.size() << "\n"; for (auto &xs: ans) { for (auto [a, b]: xs) cout << "CMPSWP R" << a + 1 << " R" << b + 1 << " "; cout << "\n"; } }

Compilation message (stderr)

malnarisc.cpp: In function 'ops faz_morro(int)':
malnarisc.cpp:17:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<std::pair<int, int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |  for (int i = 0; i < yss.size(); ++i) {
      |                  ~~^~~~~~~~~~~~
malnarisc.cpp:19:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<std::pair<int, int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |   if (i < xss.size())
      |       ~~^~~~~~~~~~~~
malnarisc.cpp: In function 'ops solve(int)':
malnarisc.cpp:37:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<std::pair<int, int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |  for (int i = 0; i < yss.size(); ++i) {
      |                  ~~^~~~~~~~~~~~
malnarisc.cpp:39:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<std::pair<int, int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |   if (i < xss.size())
      |       ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...