結果
問題 |
No.5014 セクスタプル (reactive)
|
ユーザー |
|
提出日時 | 2022-11-28 11:42:47 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 161 ms / 2,000 ms |
コード長 | 1,435 bytes |
コンパイル時間 | 2,756 ms |
実行使用メモリ | 22,844 KB |
スコア | 176,754,332 |
平均クエリ数 | 35.00 |
最終ジャッジ日時 | 2022-11-28 11:43:12 |
合計ジャッジ時間 | 23,185 ms |
ジャッジサーバーID (参考情報) |
judge15 / judge12 |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 100 |
ソースコード
#include<bits/stdc++.h> using namespace std; int f(vector<vector<int>> &dice){ int res=0; for(int i=0;i<6;i++){ vector<int> mind(6,1e9); vector<int> sumd(6,0); for(int j=0;j<6;j++){ int tg=i*6+j; vector<int> bk(6,0); for(int k=0;k<6;k++){ bk[dice[tg][k]]++; } for(int k=0;k<6;k++){ mind[k]=min(mind[k],bk[k]); sumd[k]+=bk[k]; } } for(int j=0;j<6;j++){ if(mind[j]>0){ res+=(sumd[j]-3); } } } for(int i=0;i<6;i++){ vector<int> mind(6,1e9); vector<int> sumd(6,0); for(int j=0;j<6;j++){ int tg=j*6+i; vector<int> bk(6,0); for(int k=0;k<6;k++){ bk[dice[tg][k]]++; } for(int k=0;k<6;k++){ mind[k]=min(mind[k],bk[k]); sumd[k]+=bk[k]; } } for(int j=0;j<6;j++){ if(mind[j]>0){ res+=(sumd[j]-3); } } } return res; } vector<int> roll(){ vector<int> res(6); for(auto &nx : res){ cin >> nx; nx--; } return res; } void put(int x,int y){ cout << x+1 << " " << y+1 << "\n"; fflush(stdout); } int main(){ vector<vector<int>> dice(36); for(int i=0;i<35;i++){ dice[i]=roll(); put(i/6,i%6); } int sc=0; dice[35].resize(6); for(int i=0;i<46656;i++){ int v=i; for(int j=0;j<6;j++){ dice[35][j]=v%6; v/=6; } sc+=f(dice); } cerr << sc << "\n"; return 0; }