結果
| 問題 |
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;
}