7 条题解
-
1
最暴力
#include <iostream> using namespace std; int main() { int n,m,sum1,sum2; cin >> n >> m; for(int i=0;i<=n;i++) { for(int j=0;j<=m;j++) { for(int c=1+i;c<=n;c++) { for(int k=1+j;k<=m;k++) { if(c-i==k-j) { sum1++; } else { sum2++; } } } } } cout << sum1 << " " <<sum2; }
-
1
- 刷信奥赛CSP-J 难度2:题目1
- [NOIP1997 普及组] 棋盘问题
- 典型的数字找规律好吧!
- 正方形:遍历 n 与 m 少的那一个,每一次都将个数加上n、m与 i 的差的乘积
- 长方形:遍历 n*m 次,当 j 和 i 相等时跳过本次循环,在此前提下长方形的个数每次都增加 n 与 i 的差值和 m 与 j 的差值的乘积
- 最后输出两个数量即可
做题方法:使用草稿纸一个一个写出来,寻找当中规律并且得出结论,祝大家信息学奥赛考试顺利!
#include <bits/stdc++.h> using namespace std; int n, m, square, rectangle; int main() { cin >> n >> m; for (int i = 1; i <= min(n, m); i++) square += (n - i + 1) * (m - i + 1); for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (j == i) continue; rectangle += (n - i + 1) * (m - j + 1); } } printf("%d %d", square, rectangle); return 0; }
-
0
你们喜欢的代码来楼!!!
#include<bits/stdc++.h> using namespace std; int n,m,minn,sum1,sum2; int main() { cin>>n>>m; minn=min(n, m); for (int i = 1; i <= minn; i++) { int x=(n-i+1)*(m-i+1); sum1+=x; } for (int i=1;i<=n;i++) { for (int j=1;j<=m;j++) { if (j==i)continue; int x=(n-i+1)*(m-j+1); sum2+=x; } } cout<<sum1<<" "<<sum2<<endl; return 0; }
-
-3
#include <bits/stdc++.h> using namespace std; int n, m, minn, sum1, sum2; int main() { cin >> n >> m; minn = min(n, m); for (int i = 1; i <= minn; i++) { int x = (n - i + 1) * (m - i + 1); sum1 += x; } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (j == i) continue; int x = (n - i + 1) * (m - j + 1); sum2 += x; } } cout << sum1 << " " << sum2; return 0; }
-
-4
要找我,复制这个网址:https://noip.iyopu.com/home
- 1
信息
- ID
- 992
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 1
- 标签
- 递交数
- 113
- 已通过
- 75
- 上传者