第十二届湖南省赛--2016

原创 2016年08月31日 11:37:09

给出正整数 n 和 m,统计满足以下条件的正整数对 (a, b) 的数量:

  1. 1 ≤ a ≤ n, 1 ≤ b ≤ m;

  2. a × b 是 2016 的倍数。

输入包含不超过 30 组数据。

每组数据包含两个整数 n, m (1 ≤ n, m ≤ 109 ).
Output

对于每组数据,输出一个整数表示满足条件的数量。
Sample Input
32 63
2016 2016
1000000000 1000000000
Sample Output
1
30576
7523146895502644

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<queue>
#include<vector>
#include<map>
#include<stack>
#include<set>
using namespace std;

#define pi acos(-1.0)
#define EPS 1e-6    
#define e exp(1.0); //2.718281828//log(x)
#define mod 1000000007
#define INF 0x7fffffff
#define inf 0x3f3f3f3f
#pragma comment(linker,"/STACK:102400000,102400000")
typedef long long LL;

#define debug(x) cout<<x<<" ";
#define debug2(x) cout<<x<<endl;
LL n,m;

LL cnta[2222],cntb[2222];
void geta(){
    LL temp=n/2016;
    LL cnt=n%2016;
    cnta[0]=temp;
    for(int i=1;i<=cnt;i++) cnta[i]=temp+1;
    for(int i=cnt+1;i<2016;i++) cnta[i]=temp;
}
void getb(){
    LL temp=m/2016;
    LL cnt=m%2016;
    cntb[0]=temp;
    for(int i=1;i<=cnt;i++) cntb[i]=temp+1;
    for(int i=cnt+1;i<2016;i++) cntb[i]=temp;
}

int main(){
    while(scanf("%I64d %I64d",&n,&m)!=EOF){
        geta();
        getb();
        LL ans=0;
        for(int i=0;i<2016;i++){
            for(int j=0;j<2016;j++){
                if((i*j)%2016==0) ans+=cnta[i]*cntb[j];
            }
        }
        printf("%lld\n",ans);
    }
    return 0;
}


/*
                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         I have a dream!A AC deram!!
 orz orz orz orz orz orz orz orz orz orz orz
 orz orz orz orz orz orz orz orz orz orz orz
 orz orz orz orz orz orz orz orz orz orz orz

*/
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

CSU Problem 1803 2016(同余定理)——湖南省第十二届大学生计算机程序设计竞赛

CSU Problem 1803 2016(同余定理)——湖南省第十二届大学生计算机程序设计竞赛

2016年湖南省第十二届大学生计算机程序设计竞赛 A. 2016(数学)

传送门问题 A: 2016 问题 A: 2016时间限制: 5 Sec  内存限制: 128 MB提交: 248  解决: 137[提交][状态][讨论版]题目描述  给出正整数 n 和 m,统计满足...

CSU 1803 2016 (数学)【2016年湖南省第十二届大学生计算机程序设计竞赛 - A】

题目点我点我点我 湖南省第十二届大学生计算机程序设计竞赛 1803: 2016 Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 289 ...

【模拟】CSU 1807 最长上升子序列~ (2016湖南省第十二届大学生计算机程序设计竞赛)

题目链接:  http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1807题目大意:  给你一个长度为N的数列,数列中的0可以被其他数字替换,最终形成一个...

【拓扑】【宽搜】CSU 1084 有向无环图 (2016湖南省第十二届大学生计算机程序设计竞赛)

题目链接:   http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1804 题目大意:   一个有向无环图(DAG),有N个点M条...

【树状数组】CSU 1811 Tree Intersection (2016湖南省第十二届大学生计算机程序设计竞赛)

题目链接:   http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1811 题目大意:   一棵树,N(25)个节点,每个节点有一...

2016年湖南省第十二届大学生计算机程序设计竞赛:A—2016

题目链接:http://acm.csu.edu.cn/csuoj/contest/problem?cid=2122&pid=A Description  给出正整数 n 和 m,统计...

【数学】CSU 1810 Reverse (2016湖南省第十二届大学生计算机程序设计竞赛)

题目链接:   http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1810 题目大意:   一个长度为N的十进制数,R(i,j)表...

贪心+数学——2016 (湖南省第十二届大学生计算机程序设计竞赛 A)

题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1803 分析: 给出连个数n,m(数据范围十亿),求1-n中的数a乘以1-m中的数b...
  • FeBr2
  • FeBr2
  • 2016-09-03 22:00
  • 633

【贪心】CSU 1809 Parenthesis (2016湖南省第十二届大学生计算机程序设计竞赛)

题目链接:   http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1809 题目大意:   给一个长度为N(N5)的合法括号序列。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)