一种新奇的思路,大佬帮忙看看
查看原帖
一种新奇的思路,大佬帮忙看看
513901
封禁用户楼主2021/11/20 20:18

暴力思路,代码如下

#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
template <class T> inline void read(T &x) {
	x=0;
	T f=1;
	char ch=getchar();
	while(!isdigit(ch)) {
		if(ch=='-')f=-1;
		ch=getchar();
	}
	while(isdigit(ch)) {
		x=(x<<3)+(x<<1)+(ch^48);
		ch=getchar();
	}
	x*=f;
}
int n,a[30][30],ans[30][30];
int count1(int i) {
	for(int j=0; j<n; j++)
		if(a[i][j]==1)return j;
	return 0;
}
int count2(int i) {
	for(int j=n-1; j>=0; j--)
		if(a[i][j]==1)return j;
	return 0;
}
int main() {
	read(n);
	for(int i=0; i<n; i++)
		for(int j=0; j<n; j++)
			read(a[i][j]);
	for(int i=0; i<n; i++) {
		if(count1(i)&&count2(i)&&count1(i)!=count2(i))
			for(int j=count1(i)+1; j<count2(i); j++)
				if(a[i][j]==0)ans[i][j]=2;
	}
	for(int i=0; i<n; i++) {
		for(int j=0; j<n; j++) {
			if(ans[i][j]==2)cout<<2<<' ';
			else cout<<a[i][j]<<' ';
		}
		cout<<endl;
	}
	return 0;
}

自测结果:

0 0 0 0 0 0

0 0 1 1 1 1

0 1 1 2 2 1

1 1 0 0 0 1

1 0 0 0 0 1

1 1 1 1 1 1 很绝望,大佬看看。QWQ…………

2021/11/20 20:18
加载中...