CF1772B Matrix Rotation
CF1772B Matrix Rotation
我们定义一个“优秀”的矩阵当他满足以下特点:
-
在每行中,第一个元素总小于第二个元素。
-
在每列中,第一个元素总小于第二个元素。
现在给你一个 的矩阵,每次可以旋转 ,请问一直旋转,看是否有一种情况满足他是一个“优秀”得矩阵?
不难发现,旋转 这个矩阵就变得和原来一样了。因为他是 的,数据较小,我们可以对这个矩阵手动进行三次翻转,对于每一次翻转,也就是,我们把四个数依次拿出来,记为 。旋转 ,放在图中就是:
原来:。
旋转 :。
按照上述方法进行旋转即可。
:
#include<bits/stdc++.h>
using namespace std;
const int N =300;
int a[N][N];
bool check()
{
if(((a[1][1]<a[1][2])&&(a[2][1]<a[2][2]))&&((a[1][1]<a[2][1])&&(a[1][2]<a[2][2])))
return true;
else
return false;
}
void Slove()
{
int x1=a[1][1],x2=a[1][2],x3=a[2][1],x4=a[2][2];
a[1][2]=x1,a[1][1]=x3,a[2][1]=x4,a[2][2]=x2;
}
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
int t;
cin>>t;
while(t--)
{
cin>>a[1][1]>>a[1][2]>>a[2][1]>>a[2][2];
if(check())
{
cout<<"YES"<<endl;
continue;
}
Slove();
if(check())
{
cout<<"YES"<<endl;
continue;
}
Slove();
if(check())
{
cout<<"YES"<<endl;
continue;
}
Slove();
if(check())
{
cout<<"YES"<<endl;
continue;
}
cout<<"NO"<<endl;
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现