結果
問題 |
No.1566 All Even
|
ユーザー |
![]() |
提出日時 | 2025-09-16 20:53:27 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,076 bytes |
コンパイル時間 | 2,307 ms |
コンパイル使用メモリ | 201,324 KB |
実行使用メモリ | 7,720 KB |
最終ジャッジ日時 | 2025-09-16 20:53:31 |
合計ジャッジ時間 | 3,437 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 12 WA * 16 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return true; } return false; } template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return true; } return false; } #define vi vector<int> #define vl vector<ll> #define vii vector<pair<int,int>> #define vll vector<pair<ll,ll>> #define vvi vector<vector<int>> #define vvl vector<vector<ll>> #define vvii vector<vector<pair<int,int>>> #define vvll vector<vector<pair<ll,ll>>> #define vst vector<string> #define pii pair<int,int> #define pll pair<ll,ll> #define pb push_back #define all(x) (x).begin(),(x).end() #define mkunique(x) sort(all(x));(x).erase(unique(all(x)),(x).end()) #define fi first #define se second #define mp make_pair #define si(x) int(x.size()) const int mod=998244353,MAX=300005,INF=15<<26; int main(){ std::ifstream in("text.txt"); std::cin.rdbuf(in.rdbuf()); cin.tie(0); ios::sync_with_stdio(false); ll ans=0; int N,M;cin>>N>>M; vector<array<int,3>> S(M); for(int i=0;i<M;i++){ int a,b,c;cin>>a>>b>>c; S[i]={a,b,c}; } for(int X=0;X<(1<<min(N,5));X++){ for(int Y=0;Y<(1<<min(N,5));Y++){ vi A(min(N,24)+1),B(min(N,24)+1); for(int i=0;i<min(N,5);i++){ if(X&(1<<i)) A[i+1]=1; if(Y&(1<<i)) B[i+1]=1; } for(int i=6;i<si(A);i++){ A[i]=A[i-6]; B[i]=B[i-6]; } bool ok=true; for(int len=3;len<si(A);len+=2){ for(int a=0;a+len-1<si(A);a++){ for(int b=0;b+len-1<si(B);b++){ int z=(A[a]^A[a+len]^B[b]^B[b+len]); if(z==0) ok=false; } } } for(auto [a,b,c]:S){ int z=(A[a%6]^A[(a-1)%6]^B[b%6]^B[(b-1)%6]); if(z!=c) ok=false; } if(ok) ans++; } } cout<<ans/2<<"\n"; }