제출 #1053655

#제출 시각아이디문제언어결과실행 시간메모리
1053655devariaota어르신 집배원 (BOI14_postmen)C++17
0 / 100
1099 ms14220 KiB
#include <bits/stdc++.h> using namespace std; #define all(x) (x).begin(), (x).end() typedef long long ll; typedef unsigned long long int ull; const ll md = 1e9+7; const int ukr = 5e5+10; int read() { int ketek = 0; bool ne=0; register char c = getchar(); while(c == ' ' or c =='\n') c =getchar(); if(c=='-'){ne = 1; c = getchar();} while(c >= '0' and c <='9') { ketek = (ketek<<3)+(ketek<<1)+c-'0'; c = getchar();} if(ne) ketek*=-1; return ketek; } void print(int x) { if (x < 0) {putchar('-');x = -x;} int len = 0, buf[10]; if (x == 0) {putchar('0');return;} while (x > 0) {buf[len++] = x % 10; x/=10;} while (len > 0) {putchar('0' + buf[--len]);} } void File_Work(){ freopen("test.in","r",stdin); freopen("test.out","w",stdout); } int n, m, a, b, c, d, id; struct babi{ ll x, y, id; }; struct babis{ ll x, y; }; ll gcd(ll a, ll b) { if (b == 0) return a; return gcd(b, a % b); } ll pgkt(ll rnx, ll rny){ if(rny == 0) return 1; ll nwrn = pgkt(rnx, rny/2); if(rny%2){ return (((nwrn*nwrn)%md)*rnx)%md; }else{ return (nwrn*nwrn)%md; } } vector<vector<pair<int,int>>> adj(ukr); vector<int> v; int vis[ukr]; int eve[ukr]; int deg[ukr]; string s; set<ll> st; bool dfs(ll rn, ll pp){ //cout << rn << endl; vis[rn] = 1; deg[rn] -= 2; v.push_back(rn); for(auto i : adj[rn]){ if(eve[i.second]) continue; eve[i.second] = 1; if(vis[i.first] && i.first == pp){ for(auto j : v){ cout << j << " "; } //cout << "anjai " << endl; vis[i.first] = 0; return 1; } if(!vis[i.first] && dfs(i.first, pp)){ vis[i.first] = 0; return 1; }else{ eve[i.second] = 0; } } v.pop_back(); vis[rn] = 0; deg[rn] += 2; return 0; } void solve(){ cin >> n >> m; for(int i = 0; i < m; i++){ cin >> a >> b; adj[a].push_back({b, i}); adj[b].push_back({a, i}); deg[a]++; deg[b]++; } for(int i = 1; i <= n; i++){ while(deg[i]){ v.clear(); dfs(i, i); cout << "\n"; } } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t =1; //cin >> t; for(int i = 1; i <= t; i++){ //cout << "Case " << i << ": "; solve(); } }

컴파일 시 표준 에러 (stderr) 메시지

postmen.cpp: In function 'int read()':
postmen.cpp:10:19: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   10 |     register char c = getchar();
      |                   ^
postmen.cpp: In function 'void File_Work()':
postmen.cpp:25:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   25 |   freopen("test.in","r",stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
postmen.cpp:26:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   26 |   freopen("test.out","w",stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...