懵了,这几种写法不应该等价吗,各位佬麻烦看看
查看原帖
懵了,这几种写法不应该等价吗,各位佬麻烦看看
1144743
pku_lmc楼主2023/10/20 00:24
#include <iostream>
using namespace std;
int main() {
	int l = 0, m = 0;
	cin >> l >> m;
	int ln[10000] = {0};
	int a, b, k = 0;
	//a,b为每次的首末,k用来计数
	for (int i = 1; i <= m; i++) {
		cin >> a >> b;
		for (; a <= b; a++) {
			ln[a] = 1;
		}
	}
	for (int j = 0; j <= l; j++) {
		if (ln[j] == 1) k += ln[j];
  		//if (ln[j] == 1) k ++;
  		//if (ln[j] != 0) k += ln[j];
  		//k += ln[j];
  	//这四种写法有什么区别,为什么只有第一种和第二种可以全部通过,其余两种写法只能通过前三个?
	}
	cout << l + 1 - k; 
	return 0;
}
2023/10/20 00:24
加载中...