Submission #829925

#TimeUsernameProblemLanguageResultExecution timeMemory
829925tolbiDuathlon (APIO18_duathlon)C++17
5 / 100
92 ms11888 KiB
#pragma optimize("Bismillahirrahmanirrahim") //█▀█─█──█──█▀█─█─█ //█▄█─█──█──█▄█─█■█ //█─█─█▄─█▄─█─█─█─█ //Allahuekber //ahmet23 orz... //FatihSultanMehmedHan //YavuzSultanSelimHan //AbdulhamidHan //Sani buyuk Osman Pasa Plevneden cikmam diyor #define author tolbi #include <bits/stdc++.h> using namespace std; #define deci(x) int x;cin>>x; #define decstr(x) string x;cin>>x; #define sortarr(x) sort(x.begin(), x.end()) #define sortrarr(x) sort(x.rbegin(), x.rend()) #define rev(x) reverse(x.begin(), x.end()) #define cinarr(x) for (auto &it : x) cin>>it; #define coutarr(x) for (auto &it : x) cout<<it<<" ";cout<<endl; #define tol(bi) (1LL<<((int)(bi))) #define endl '\n' typedef long long ll; mt19937 ayahya(chrono::high_resolution_clock().now().time_since_epoch().count()); int32_t main(){ int T = 1; int tno = 0; while (T-(tno++)){ ll ans = 0; deci(n);deci(m); vector<vector<int>> arr(n); for (int i = 0; i < m; ++i) { deci(u);deci(v); arr[u-1].push_back(v-1); arr[v-1].push_back(u-1); } auto dene = [&](int a, int b, int c)->bool{ if (a==b || b==c || a==c) return false; vector<vector<int>> dp(n,vector<int>(tol(n),-1)); auto f = [&](int node, int mask, auto f)->int{ if (dp[node][mask]!=-1) return dp[node][mask]; if (node==c){ if (mask&tol(b)) return true; return false; } dp[node][mask]=0; for (int i = 0; i < arr[node].size(); i++){ if (tol(arr[node][i])&mask) continue; mask+=tol(arr[node][i]); if (f(arr[node][i],mask,f)){ return dp[node][mask]=1; } mask-=tol(arr[node][i]); } return dp[node][mask]; }; //if (f(a,tol(a),f)) cout<<a<<" "<<b<<" "<<c<<endl; return f(a,tol(a),f); }; for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ for (int k = 0; k < n; k++){ if (dene(i,j,k)) ans++; } } } cout<<ans<<endl; } }

Compilation message (stderr)

count_triplets.cpp:1: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    1 | #pragma optimize("Bismillahirrahmanirrahim")
      | 
count_triplets.cpp: In instantiation of 'main()::<lambda(int, int, int)>::<lambda(int, int, auto:23)> [with auto:23 = main()::<lambda(int, int, int)>::<lambda(int, int, auto:23)>]':
count_triplets.cpp:59:21:   required from here
count_triplets.cpp:48:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |                 for (int i = 0; i < arr[node].size(); i++){
      |                                 ~~^~~~~~~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...