csu 1803(2016)
2017-04-07 14:15
288 查看
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=3000; /* n m <=1e9 a*b=2016p (0<a<=n 0<b<=m) 的组合有多少个 那么也就是a*b%2016=0%2016 那么只要枚举2016*2016个就好了 */ ll cnt1[maxn],cnt2[maxn]; void solve(int n,ll c[]){ int a=n/2016,b=n%2016; for(int i=1;i<=b;i++)c[i]=a+1; for(int i=b+1;i<=2016;i++)c[i]=a; } int main(){ ll n,m; while(cin>>n>>m){ solve(n,cnt1); solve(m,cnt2); ll res=0; for(int i=1;i<=2016;i++)for(int j=1;j<=2016;j++) if((i*j%2016)==0){ res+=cnt1[i]*cnt2[j]; } cout<<res<<endl; } return 0; }
相关文章推荐
- CSU Problem 1803 2016(同余定理)——湖南省第十二届大学生计算机程序设计竞赛
- CSU 1803 2016(思维)
- CSU 1803: 2016
- 【CSU 1803】2016
- CSU 1803 2016(思维)
- CSU 1803 2016
- CSU 1803: 2016 (省赛真题)
- CSU-1803: 2016 ,同余定理!
- CSU 1803 2016(思维)
- CSU 1803 2016
- CSU 1803 2016 (数学)【2016年湖南省第十二届大学生计算机程序设计竞赛 - A】
- CSU 1803 2016(思维)
- CSU 1803 a×b 是 2016 的倍数(枚举)
- CSU 1803 2016(16湖南省赛)(同余定理)
- 2016 CSU 1803 (思路)
- CSU - 1803 2016 (a*b%2016的个数)
- CSU1803: 2016(湖南省第十二届大学生计算机程序设计竞赛A)
- CSU 1803 2016(思维)
- CSU1803 2016 同余
- [CSU 1803(湖南省赛16)] 2016 (数论+模运算)