Submission #1088433

#TimeUsernameProblemLanguageResultExecution timeMemory
1088433Rolo678Aesthetic (NOI20_aesthetic)C++14
16 / 100
449 ms43088 KiB
#include <bits/stdc++.h> using namespace std; #define int long long vector<vector<pair<int,int>>>g(3e5+5); vector<long long>dp2(3e5+5,-1); vector<long long>dp(3e5+5,-1); signed main() { // freopen("5-10.in", "r", stdin); int n,m; cin >> n>>m; // cin >> n >> m; vector<pair<int,int>>e(m+1); for(int i = 1;i<=m;i++) { int a,b,w; cin >> a >> b >> w; //cout << 'o'; g[a].push_back({b,i}); g[b].push_back({a,i}); e[i] = {a,b}; //cout << 'o'; } //dfs(); dp[1] =0; queue<int>q; q.push(1); while(!q.empty()) { int v = q.front(); q.pop(); for(auto u : g[v]) { if(dp[u.first] == -1) { q.push(u.first); dp[u.first] = dp[v] + 1; } } } dp2[n] =0; //queue<int>q; q.push(n); while(!q.empty()) { int v = q.front(); q.pop(); for(auto u : g[v]) { if(dp2[u.first] == -1) { q.push(u.first); dp2[u.first] = dp2[v] + 1; } } } int mn = 1e9+5; int num = 0; int mn2 = 1e9+5; map<int,int>mp; int s =1; for(int i = 1;i<=m;i++) { int u = e[i].first; int v = e[i].second; if(dp[u] + dp2[v]+1 == dp[n]) { mp[dp[u]]++; if(i==m)mp[dp[u]]++; //cout << 'u'; } if(dp[v] + dp2[u]+1 == dp[n]) { mp[dp[v]]++; if(mp[dp[v] ]== mp[dp[u]])mp[dp[v]]--; if(i==m)mp[dp[v]]++; //cout << 'u'; } /*/if(i==m && (dp[u] + dp2[v]+1 <mn+mn2+1)) { num++; s= 0; }/*/ // cout << dp[i.first] + dp2[i.second]+1 << '\n'; } for(int i = 1;i<dp[n];i++) { if(mp[i]==1)num=1; } cout << dp[n] + ((num ==1)); }

Compilation message (stderr)

Aesthetic.cpp: In function 'int main()':
Aesthetic.cpp:60:7: warning: unused variable 'mn' [-Wunused-variable]
   60 |   int mn = 1e9+5;
      |       ^~
Aesthetic.cpp:62:7: warning: unused variable 'mn2' [-Wunused-variable]
   62 |   int mn2 = 1e9+5;
      |       ^~~
Aesthetic.cpp:64:7: warning: unused variable 's' [-Wunused-variable]
   64 |   int s =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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...