暴力写法
2025-06-22 21:35:31
发布于:广东
7阅读
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;
}
提交...
执行用时成功逼近三位数。
好歹过了
这里空空如也



有帮助,赞一个