Submission #1051218

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
10512182024-08-10 00:18:34TrentThousands Islands (IOI22_islands)C++17
24 / 100
20 ms6236 KiB
#include "islands.h"
#include "bits/stdc++.h"
using namespace std;
#define forR(i, x) for(int i = 0; i < (x); ++i)
#define REP(i, a, b) for(int i = (a); i < (b); ++i)
#define all(x) x.begin(), x.end()
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<ll> vll;
typedef vector<bool> vb;
struct edge{int t, i;};
vector<vector<edge>> adj;
vi nStk, eStk;
vb oStk, vis;
bool dfs(int c, vi& ans) {
// nStk is [0, c), eStk is [0, c]
if(oStk[c]) {
int sInd = -1;
forR(i, nStk.size()) if(nStk[i] == c) sInd = i;
forR(i, sInd) ans.push_back(eStk[i]);
REP(i, sInd, eStk.size()) ans.push_back(eStk[i]);
REP(i, sInd, eStk.size()) ans.push_back(eStk[i] ^ 1);
for(int i = (int) eStk.size() - 1; i >= sInd; --i) ans.push_back(eStk[i]);
for(int i = (int) eStk.size() - 1; i >= sInd; --i) ans.push_back(eStk[i] ^ 1);
for(int i = sInd - 1; i >= 0; --i) ans.push_back(eStk[i]);
return true;
}
if(!vis[c]) {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

islands.cpp: In function 'bool dfs(int, vi&)':
islands.cpp:4:37: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    4 | #define forR(i, x) for(int i = 0; i < (x); ++i)
      |                                     ^
islands.cpp:21:5: note: in expansion of macro 'forR'
   21 |     forR(i, nStk.size()) if(nStk[i] == c) sInd = i;
      |     ^~~~
islands.cpp:5:41: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define REP(i, a, b) for(int i = (a); i < (b); ++i)
      |                                         ^
islands.cpp:23:5: note: in expansion of macro 'REP'
   23 |     REP(i, sInd, eStk.size()) ans.push_back(eStk[i]);
      |     ^~~
islands.cpp:5:41: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    5 | #define REP(i, a, b) for(int i = (a); i < (b); ++i)
      |                                         ^
islands.cpp:24:5: note: in expansion of macro 'REP'
   24 |     REP(i, sInd, eStk.size()) ans.push_back(eStk[i] ^ 1);
      |     ^~~
#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...