제출 #1259766

#제출 시각아이디문제언어결과실행 시간메모리
1259766cpdreamer세계 지도 (IOI25_worldmap)C++20
5 / 100
19 ms2628 KiB
#include "worldmap.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define V vector
#define pb push_back
#define all(v) v.begin(),v.end()
const long long MOD=1e9+7;
#define P pair
#define F first
#define S second
void file() {
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
}
V<int>adj[41];
V<int>t[41];
bool vis[41];
V<int>v;
void dfs(int n) {
    vis[n]=true;
    for (auto u:adj[n]) {
        if (!vis[u]) {
            t[u].pb(n);
            t[n].pb(u);
            dfs(u);
        }
    }
}
void dfs1(int n,int p) {
    v.pb(n);
    for (auto u:t[n]) {
        if (u==p)continue;
        dfs1(u,n);
    }
    if (p!=-1) {
        v.pb(p);
    }
}
std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) {
    for (int i=0;i<=N;i++) {
        adj[i].clear();
        t[i].clear();
        vis[i]=false;
    }
    v.clear();
    for (int i=0;i<M;i++) {
        adj[A[i]].pb(B[i]);
        adj[B[i]].pb(A[i]);
    }
    dfs(1);
    dfs1(1,-1);
    V<int>vp;
    set<int>st;
    V<int>p(N+1);
    int x=1;
    for (auto u:v) {
        if (st.count(u)) {
            vp.pb(u);
        }
        else {
            st.insert(u);
            p[u]=x;
            x=3-x;
            for (int j=0;j<2;j++) {
                vp.pb(u);
            }
        }
    }
    int sz=(int)vp.size();
    V<V<int>>grid;
    for (int i=0;i<sz;i++) {
        grid.pb(vp);
    }
    V<int>c(N+1,0);
    for (int i=0;i<M;i++) {
        int id=-1;
        for (int j=0;j<sz;j++) {
            if (vp[j]==A[i]) {
                id=j;
                break;
            }
        }
        grid[2*c[A[i]]+p[A[i]]][id]=B[i];
        if (id>0) {
            grid[2*c[A[i]]+p[A[i]]][id-1]=A[i];
        }
    }
    return grid;
}

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

worldmap.cpp: In function 'void file()':
worldmap.cpp:13:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |     freopen("input.txt","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
worldmap.cpp:14:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |     freopen("output.txt","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...