Submission #338492

#TimeUsernameProblemLanguageResultExecution timeMemory
338492beksultan04Beautiful row (IZhO12_beauty)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define pii pair<int,int> #define OK puts("OK"); #define NO puts("NO"); #define YES puts("YES"); #define fr first #define sc second #define ret return #define ll long long #define scan1(a) scanf("%lld",&a); #define scan2(a,b) scanf("%lld %lld",&a, &b); #define scan3(a,b,c) scanf("%lld %lld %lld",&a,&b,&c); #define all(s) s.begin(),s.end() #define allr(s) s.rbegin(),s.rend() #define pb push_back #define sz(v) (int)v.size() #define endi puts(""); const int N = 1048579,INF=1e9+7; int q[N],tr[30],dv[30],g[50][50],n; ll dp[N][21]; int troich(int x){ int ans=0; while (x > 0){ if (x%3==1)ans++; x /=3; } ret ans; } int dvoich(int x){ int ans=0; while (x > 0){ if (x%2==1)ans++; x /=2; } ret ans; } bool is(int a,int b){ ret (tr[a] == tr[b] || dv[a] == dv[b]); } ll rec(int x,int j){ if (x == (1<<n)-1)ret 1; ll &ret=dp[x][j]; if (~ret) ret ret;ret=0; int i; for (i=0;i<n;++i){ if (i == j || (x&(1<<i)) || g[i][j] == 0)continue; ret += rec(x+(1<<i),i); } ret ret; } main(){ memset(dp,-1,sizeof dp); int i,j,s,cnt=1; cin>>n; for (i=0;i<n;++i){ cin>>q[i]; tr[i]=troich(q[i]); dv[i]=dvoich(q[i]); } for (i=0;i<n;++i){ for (j=i+1;j<n;++j){ if (is(i,j)){ g[i][j]=1; g[j][i]=1; } } } ll ans=0; for (i=0;i<n;++i){ ans+=rec((1<<i),i); } cout <<ans; }

Compilation message (stderr)

beauty.cpp: In function 'long long int rec(int, int)':
beauty.cpp:9:13: error: expected unqualified-id before 'return'
    9 | #define ret return
      |             ^~~~~~
beauty.cpp:45:8: note: in expansion of macro 'ret'
   45 |    ll &ret=dp[x][j];
      |        ^~~
beauty.cpp:9:13: error: expected primary-expression before 'return'
    9 | #define ret return
      |             ^~~~~~
beauty.cpp:46:10: note: in expansion of macro 'ret'
   46 |     if (~ret)
      |          ^~~
beauty.cpp:46:10: error: expected ')' before 'return'
   46 |     if (~ret)
      |        ~ ^
      |          )
beauty.cpp:9:13: error: expected primary-expression before 'return'
    9 | #define ret return
      |             ^~~~~~
beauty.cpp:47:11: note: in expansion of macro 'ret'
   47 |       ret ret;ret=0;
      |           ^~~
beauty.cpp:9:13: error: expected ';' before 'return'
    9 | #define ret return
      |             ^~~~~~
beauty.cpp:47:11: note: in expansion of macro 'ret'
   47 |       ret ret;ret=0;
      |           ^~~
beauty.cpp:9:13: error: return-statement with no value, in function returning 'long long int' [-fpermissive]
    9 | #define ret return
      |             ^~~~~~
beauty.cpp:47:11: note: in expansion of macro 'ret'
   47 |       ret ret;ret=0;
      |           ^~~
beauty.cpp:47:18: error: expected primary-expression before '=' token
   47 |       ret ret;ret=0;
      |                  ^
beauty.cpp:51:13: error: expected primary-expression before '+=' token
   51 |         ret += rec(x+(1<<i),i);
      |             ^~
beauty.cpp:9:13: error: expected primary-expression before 'return'
    9 | #define ret return
      |             ^~~~~~
beauty.cpp:53:9: note: in expansion of macro 'ret'
   53 |     ret ret;
      |         ^~~
beauty.cpp:9:13: error: expected ';' before 'return'
    9 | #define ret return
      |             ^~~~~~
beauty.cpp:53:9: note: in expansion of macro 'ret'
   53 |     ret ret;
      |         ^~~
beauty.cpp:9:13: error: return-statement with no value, in function returning 'long long int' [-fpermissive]
    9 | #define ret return
      |             ^~~~~~
beauty.cpp:53:9: note: in expansion of macro 'ret'
   53 |     ret ret;
      |         ^~~
beauty.cpp: At global scope:
beauty.cpp:57:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   57 | main(){
      |      ^
beauty.cpp: In function 'int main()':
beauty.cpp:59:13: warning: unused variable 's' [-Wunused-variable]
   59 |     int i,j,s,cnt=1;
      |             ^
beauty.cpp:59:15: warning: unused variable 'cnt' [-Wunused-variable]
   59 |     int i,j,s,cnt=1;
      |               ^~~