제출 #115989

#제출 시각아이디문제언어결과실행 시간메모리
115989ckodserSenior Postmen (BOI14_postmen)C++14
100 / 100
427 ms47928 KiB
#include<bits/stdc++.h>

#define ll int
#define pb push_back
#define mp make_pair
#define ld long double
#define F first
#define S second
#define pii pair<ll,ll> 

using namespace :: std;

const ll mod=1e9+7;
const ll maxn=5e5+500;
const ll inf=1e9+900;

vector<ll> ger[maxn];
ll nex[2*maxn];
ll yal[2*maxn];
ll head[maxn];
ll cnt=0;

ll s[maxn];
ll t[maxn];
bool vis[maxn];
stack<ll> ans;
bool inAns[maxn];


void dfs(ll a){
    while(head[a]!=-1){
	ll e=yal[head[a]];
	head[a]=nex[head[a]];
	if(!vis[e]){
	    vis[e]=1;
	    dfs(s[e]^t[e]^a);
	}
    }
    if(inAns[a]){
	while(ans.top()!=a){
	    printf("%d ",ans.top());
	    inAns[ans.top()]=0;
	    ans.pop();
	}
	printf("%d\n",a);
    }else{
        ans.push(a);
	inAns[a]=1;
    }
}
int main(){
    ll n,m;
    scanf("%d%d",&n,&m);
    memset(head,-1,sizeof head);
    for(ll i=0;i<m;i++){
	scanf("%d%d",&s[i],&t[i]);
	nex[cnt]=head[s[i]];
	head[s[i]]=cnt;
	yal[cnt]=i;
	cnt++;

	nex[cnt]=head[t[i]];
	head[t[i]]=cnt;
	yal[cnt]=i;
	cnt++;
    }
    dfs(1);
}

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

postmen.cpp: In function 'int main()':
postmen.cpp:53:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&m);
     ~~~~~^~~~~~~~~~~~~~
postmen.cpp:56:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&s[i],&t[i]);
  ~~~~~^~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...