QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#679609 | #5438. Half Mixed | ruoye123456 | WA | 0ms | 3584kb | C++20 | 2.1kb | 2024-10-26 17:58:43 | 2024-10-26 17:58:44 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
typedef pair<int,int> PII;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int uint;
typedef vector<string> VS;
typedef vector<int> VI;
typedef vector<vector<int>> VVI;
vector<int> vx;
inline void divide() {sort(vx.begin(),vx.end());vx.erase(unique(vx.begin(),vx.end()),vx.end());}
//inline int mp(int x) {return upper_bound(vx.begin(),vx.end(),x)-vx.begin();}
inline int log_2(int x) {return 31-__builtin_clz(x);}
inline int popcount(int x) {return __builtin_popcount(x);}
inline int lowbit(int x) {return x&-x;}
inline ll Lsqrt(ll x) { ll L = 1,R = 2e9;while(L + 1 < R){ll M = (L+R)/2;if(M*M <= x) L = M;else R = M;}return L;}
void solve()
{
int n,m;
cin>>n>>m;
bool turn = true;
if((ll)m*(m+1)%4) {cout<<"No\n";return ;}
if(n < m) {swap(n,m);turn = false;}
ll ans = m*m/2 - m/2;
vector<int> final;
auto dfs = [&](auto && dfs, int rest, ll res, vector<int> path)->void
{
if(!rest)
{
if(res == ans) final = path;
return ;
}
for(int i=rest;i;--i)
{
if(res + (ll)i * i + rest - i > ans) continue;
vector<int> tmp = path;
tmp.push_back(i);
dfs(dfs, rest - i, res + (ll)i*i, tmp);
}
};
cout<<"Yes\n";
vector<int> init;
dfs(dfs, m, 0, init);
//cout<<final.size()<<'\n';
vector<vector<int>> g(n,vector<int> (m));
int ok = 0;
int cnt = 0;
for(auto t : final)
{
for(int i=1;i<=t;++i) g[0][cnt++] = ok;
ok ^= 1;
}
for(int i=1;i<n;++i)
for(int j=0;j<m;++j)
g[i][j] = g[0][j];
if(turn)
{
for(int i=0;i<n;++i)
for(int j=0;j<m;++j)
cout<<g[i][j]<<" \n"[j==m-1];
}
else
{
for(int i=0;i<m;++i)
for(int j=0;j<n;++j)
cout<<g[j][i]<<" \n"[j==n-1];
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int T;
cin>>T;
while(T--)
{
solve();
}
}
详细
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3584kb
input:
2 2 3 1 1
output:
Yes 0 0 0 0 0 0 No
result:
wrong answer 0 Mixed Submatrices Found, but 9 Expected (test case 1)