题目链接:http://codeforces.com/problemset/problem/577/A
大致的题意就是 矩阵中的例如 a[i][j] = i*j 然后让你去找一个特定数字m出现了几次的问题
刚开始想的时候就想着打出矩阵之后查找
然后被告知超时了
然后就想着边打矩阵边查找
然后还是超时了
这个时候我再想起来这题可以不需要开数组只需要模拟
于是我开心的双层循环
结果还是超时!
然后我再想这题的模拟其实一个循环就可以完成任务了!
AC代码:
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <cstdbool> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(NULL); int n,m; cin >> n >> m; int ans = 0; for (int i = 1; i <= n; i++) { if (m % i == 0 && m/i <= n) { ans++; } } printf("%d ",ans); return 0; }
但是我觉得这题挺有意思的
下次如果再遇到这样的题目我肯定不会再傻乎乎的想开出一个大矩阵!
注意数据范围!!!
归根结底:我还是菜!!!