Double Matrix CodeForces - 1162B

编程入门 行业动态 更新时间:2024-10-25 16:18:06

Double <a href=https://www.elefans.com/category/jswz/34/1753650.html style=Matrix CodeForces - 1162B"/>

Double Matrix CodeForces - 1162B

Double Matrix CodeForces - 1162B

题目大意

给出两个矩阵,这两个矩阵必须满足,每一行从左到右递增且每一列从上到下递增。你可以通过如下操作使得这两个矩阵满足以上关系:交换两个矩阵中对应的元素。是否能通过交换存在这样的两个矩阵。

思路:刚开始一直暴力,实际上后面发现暴力不可取,因为你交换一个数之后,它很可能不是最优的解法,或者它会把遍历过的行列顺序打乱。
所以:可以想到,把两个矩阵对应位置的最大值最小值取出来分别放在一个矩阵里,只遍历一个矩阵即可知道是否满足,因为如果最小或最大矩阵都不满足的话,那么互相交换了以后也不能保证满足。

#include <iostream>
#include <cstdio>
#include<cstdlib>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include<time.h>
#include <stack>
#include <list>
#include <set>
#include <sstream>
#include <iterator>
using namespace std;
#define FOPI freopen("input.in", "r", stdin)
#define DOPI freopen("output.out", "w", stdout)
#define ll long long int
#define fro(i,a,n) for(ll i=a;i<n;i++)
#define pre(i,a,n) for(ll i=n-1;i>=a;i--)
#define mem(a,b) memset(a,b,sizeof(a))
#define ls l,mid,rt<<1
#define rs mid+1,r,rt<<1|1
#define fi first
#define se second
#define s_d(a) scanf("%d",&a)
#define s_lld(a) scanf("%lld",&a)
#define s_s(a) scanf("%s",a)
#define s_ch(a) scanf("%c",&a)
typedef pair<ll,ll> P;
ll gcd(ll a,ll b){return b==0?a:gcd(b,a%b);}
const double PI = 3.1415926535897932;
const double EPS=1e-6;
const int INF=0x3f3f3f3f;
const int maxn = 1e5+100;
int lowbit(int x){return x&(-x);}
int a1[100][100];
int a2[100][100];
int m,n;
int main()
{ios::sync_with_stdio(0);cin>>m>>n;fro(i,0,m)fro(j,0,n)cin>>a1[i][j];fro(i,0,m)fro(j,0,n)cin>>a2[i][j];bool ok=0;fro(i,0,m){int a=max(a1[i][0],a2[i][0]);int b=min(a1[i][0],a2[i][0]);fro(j,1,n){int aa=max(a1[i][j],a2[i][j]);int bb=min(a1[i][j],a2[i][j]);if(aa>a&&bb>b){a=aa;b=bb;}elseok=1;}}fro(i,0,n){int a=max(a1[0][i],a2[0][i]);int b=min(a1[0][i],a2[0][i]);fro(j,1,m){int aa=max(a1[j][i],a2[j][i]);int bb=min(a1[j][i],a2[j][i]);if(aa>a&&bb>b){a=aa;b=bb;}elseok=1;}}if(!ok)cout<<"Possible"<<endl;elsecout<<"Impossible"<<endl;return 0;
}

更多推荐

Double Matrix CodeForces - 1162B

本文发布于:2023-07-28 15:26:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1235574.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Matrix   Double   CodeForces

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!