QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#578435#8519. RadarsLittleXi#WA 0ms3544kbC++201.7kb2024-09-20 19:11:412024-09-20 19:11:42

Judging History

你现在查看的是最新测评结果

  • [2024-09-20 19:11:42]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3544kb
  • [2024-09-20 19:11:41]
  • 提交

answer

#include<bits/stdc++.h>

using namespace std;

#define ll long long

ll n,m;
vector<vector<ll> >grid;
ll ans;
void check1(){
    multiset<ll> se;
    for(ll j = m;j<n;j++){
        se.insert(grid[m][j]);
    }
    for(ll i =0;i<m;i++){
        ans = min(ans , grid[m][i] + *se.begin());
        se.erase(se.find(grid[m][m + i]));
    }
}

void check2(){
    ll mi1 = grid[0][m] , mi2 = grid[m+1][m];
    for(ll i = 0;i<m;i++){
        for(ll j = m;j<n;j++){
            mi1 = min( mi1 , grid[i][j]);
            mi2 = min( mi2 , grid[i + m + 1][j]);
        }
    }
    for(ll j = 0; j < m;j++){
        ans = min(ans , grid[m][j] + mi1 + mi2 );
    }
}

void check3(){
    ll mi1 = 2e9 , mi2 = 2e9 , mi3 = 2e9 , mi4 = 2e9;
    for(ll i =0;i<m;i+=1){
        for(ll j =0 ;j<m;j+=1){
            mi1 = min(mi1, grid[i][j]);
            mi2 = min(mi2 , grid[i][j+m+1]);
            mi3 = min(mi3 , grid[i + m + 1][j]);
            mi4 = min(mi4 , grid[i + m + 1][j+m+1]);
        }
    }
    ans = min(ans , mi1 + mi2 + mi3 + mi4);
}

void trans(){
    auto grid2 = grid;
    for(ll i =0;i<n;i++){
        for(ll j =0;j<n;j++){
            grid2[j][i] = grid[i][j];
        }
    }
    swap(grid2,grid);
}

void solve(){
    cin>>n;
    grid = vector<vector<ll>> (n,vector<ll>(n));
    if(n==1){
        cout<<grid[0][0]<<endl;return;
    }
    for(ll i =0;i<n;i+=1)
        for(ll j =0;j<n;j++)
            cin>>grid[i][j];
    m = n/2;
    ans = grid[m][m];
    for(ll i =0;i<4;i++){
        trans();
        check1();check2();check3();
    }
    cout<<ans<<endl;
}

signed main(){
    cin.tie(0);cout.tie(0);
    ios::sync_with_stdio(0);
    ll t;cin>>t;
    while(t--)
        solve();
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3544kb

input:

2
3
1 1 1
1 1 1
1 1 1
5
8 5 2 8 3
5 6 9 7 3
7 8 9 1 4
8 9 4 5 5
2 8 6 9 3

output:

1
5

result:

ok 2 number(s): "1 5"

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3544kb

input:

1
1
444739567

output:

0

result:

wrong answer 1st numbers differ - expected: '444739567', found: '0'