暴力写法
2025-06-22 21:35:31
发布于:广东
3阅读
0回复
0点赞
截至2025/6/22不会TLE
这题思路其实挺简单,我们可以把所有正方形分类,按照左上点x
轴,左上点y
轴和边长分。
接下来就简单了:
遍历x
轴和y
轴和边长
for(int c = 1;((a + c <= n) && (b + c <= m));c++)//边长,这个不能直接小于了
注意边长如果不想写的这么复杂可以写成
for(int c = 1;/*注意这里两个分号*/;c++){
if((a + c <= n) && (b + c <= m)) ans++;
}
然后是完整代码一份
#include<bits/stdc++.h>
using namespace std;
int ans,n,m;
int main(){
cin >> n >> m;
int maxn = max(n,m);
for(int a = 0;a <= n;a++){
for(int b = 0;b <= m;b++){
for(int c = 1;((a + c <= n) && (b + c <= m));c++){
ans++;
}
}
}
cout << ans;
}
提交...
执行用时成功逼近三位数。
好歹过了
这里空空如也
有帮助,赞一个