Submission #939581

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
9395812024-03-06 14:31:26LucaIlieThe Xana coup (BOI21_xanadu)C++17
100 / 100
98 ms21332 KiB
#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
struct DP {
int dp[2][2];
DP operator+( const DP &b ) const {
DP a = *this;
DP c;
for ( int s = 0; s < 2; s++ ) {
for ( int t = 0; t < 2; t++ )
c.dp[s][t] = INF;
}
for ( int sa = 0; sa < 2; sa++ ) {
for ( int ta = 0; ta < 2; ta++ ) {
for ( int sb = 0; sb < 2; sb++ ) {
for ( int tb = 0; tb < 2; tb++ ) {
if ( sb ^ ta == 1 )
continue;
c.dp[sa ^ tb][ta] = min( c.dp[sa ^ tb][ta], a.dp[sa][ta] + b.dp[sb][tb] );
}
}
}
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

xanadu.cpp: In member function 'DP DP::operator+(const DP&) const':
xanadu.cpp:23:38: warning: suggest parentheses around comparison in operand of '^' [-Wparentheses]
   23 |                         if ( sb ^ ta == 1 )
      |                                   ~~~^~~~
xanadu.cpp: In function 'void dfs(int, int)':
xanadu.cpp:43:46: warning: suggest parentheses around comparison in operand of '^' [-Wparentheses]
   43 |             minSwitches[u].dp[s][t] = (s ^ t == isTurnedOn[u] ? t : INF);
      |                                            ~~^~~~~~~~~~~~~~~~
#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...