语言入门求助
查看原帖
语言入门求助
505578
Chronomaly_Atlandis楼主2022/9/12 14:50

rt, D是TLE了5个,F是WA了6个,实在找不出错了,求助。

D题代码

#include<iostream>
using namespace std;
const int maxn=1e4+10;
bool flag;
int read() {
    int num = 0, f = 1;
    char chr = getchar();
    while (chr < '0' || chr > '9') {
        if (chr == '-')
            f = -1;
        chr = getchar();
    }
    while (chr >= '0' && chr <= '9') {
        num = num * 10 + chr - '0';
        chr = getchar();
    } 
    return num * f;
}
void write(int num) {
    if (num < 0) {
        putchar('-');
        num = -num;
    }
    if (num >= 10)
        write(num / 10);
    putchar(num % 10 + '0');
}
int main(){
	cin.tie(NULL);cout.tie(NULL);
	int T=read();
	while(T--){
		int n=read();
		flag=0;
		while(n--){
			long long x=read();
			if(!x){
				flag=1;
				break;
			}
		}
		printf((flag?"yes\n":"no\n"));
	}
	return 0;
}

F题的

#include<iostream>
using namespace std;
const int maxn=1500;
long long num[maxn][maxn],ans,sx[maxn],sy[maxn],cnt;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(NULL);cout.tie(NULL);
	int n,m;
	cin >> n >> m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++)cin >> num[i][j];
	}
	int T;
	cin >> T;
	while(T--){
		int x1,y1,x2,y2;
		cin >> x1 >> y1 >> x2 >> y2;
		swap(num[x1][y1],num[x2][y2]);
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++)
		if(num[i][j]>num[i][j-1]&&num[i][j]>num[i][j+1]&&num[i][j]>num[i-1][j]&&num[i][j]>num[i+1][j]){
		ans++;
		sx[++cnt]=i,sy[cnt]=j;
		}
	}
	cout << ans << "\n";
	for(int i=1;i<=ans;i++)cout << sx[i] << " " << sy[i] << "\n";
	return 0;
}                            

救救孩子吧

2022/9/12 14:50
加载中...