結果

問題 No.5013 セクスタプル (open)
ユーザー butsurizuki
提出日時 2022-11-28 11:22:11
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,444 bytes
コンパイル時間 3,383 ms
実行使用メモリ 5,164 KB
スコア 3,713
最終ジャッジ日時 2022-12-29 14:04:10
合計ジャッジ時間 9,037 ms
ジャッジサーバーID
(参考情報)
judge12 / judge11
純コード判定しない問題か言語
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 100
権限があれば一括ダウンロードができます

ソースコード

diff #

#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;
}

void output(vector<vector<int>> &dice){
  vector<int> rx(36),ry(36);
  for(int i=0;i<6;i++){
    for(int j=0;j<6;j++){
      rx[dice[i*6+j][6]]=i+1;
      ry[dice[i*6+j][6]]=j+1;
    }
  }
  for(int i=0;i<36;i++){
    cout << rx[i] << " " << ry[i] << "\n";
  }
}

int main(){
  vector<vector<int>> dice(36);
  for(int i=0;i<36;i++){
    dice[i].resize(7);
    dice[i][6]=i;
    for(int j=0;j<6;j++){
      cin >> dice[i][j];
      dice[i][j]--;
    }
  }
  output(dice);
  cerr << f(dice) << "\n";
  return 0;
}
0