結果
| 問題 | No.5024 魔法少女うなと宝集め |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-05-02 17:21:42 |
| 言語 | C++23 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,197 bytes |
| 記録 | |
| コンパイル時間 | 7,033 ms |
| コンパイル使用メモリ | 425,504 KB |
| 実行使用メモリ | 7,976 KB |
| スコア | 364,638 |
| 最終ジャッジ日時 | 2026-05-02 17:21:58 |
| 合計ジャッジ時間 | 9,399 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge2_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 15 WA * 35 |
ソースコード
//*
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
//*/
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
using P=pair<int,int>;
constexpr int inf=1e9+7;
constexpr ll linf=(ll)inf*inf;
int dx[]={1,0,0,-1},dy[]={0,1,-1,0};
//*
#include<atcoder/all>
using namespace atcoder;
using mint=modint998244353;
//*/
int n,t;
vector<vector<int>>a;
vector<P>ans,tmp;
int as;
int score(){
int sum=0;
for(auto[x,y]:tmp)
sum+=a[x][y];
return sum;
}
void update(){
int ts=score();
if(ts>as){
as=ts;
ans=tmp;
}
}
int main(){
cin>>n>>t;
a.resize(n);
for(int i=0;i<n;i++){
a[i].resize(n);
for(int j=0;j<n;j++)
cin>>a[i][j];
}
vector<P>lp;
for(int i=0;i<n;i+=2){
for(int j=1;j<n;j++)
lp.push_back(P(i,j));
for(int j=n-1;j>=1;j--)
lp.push_back(P(i+1,j));
}
for(int i=n-1;i>=0;i--)
lp.push_back(P(i,0));
for(int i=0;i<n*n;i++){
tmp.clear();
for(int j=0;j<t;j++)
tmp.push_back(lp[(i+j)%(n*n)]);
for(int j=0;j<4;j++){
update();
for(int k=0;k<t;k++)
tmp[j]=P(tmp[j].second,n-1-tmp[j].first);
}
}
cout<<ans.size()<<endl;
for(int i=0;i<ans.size();i++)
cout<<ans[i].first<<' '<<ans[i].second<<endl;
}