关于今天月赛 T1
  • 板块学术版
  • 楼主封禁用户
  • 当前回复14
  • 已保存回复14
  • 发布时间2020/5/3 18:48
  • 上次更新2023/11/7 03:15:48
查看原帖
关于今天月赛 T1
260980
封禁用户楼主2020/5/3 18:48

RT

我为什么下面的那个代码按照题解写的样例 22 出来是 2-2 呀。。。

/kel

#include <iostream>
#include <cstdio>
#include <cmath>
#include <map>
using namespace std;
int t,n,m,ans;
map<int,map<int,int> > Map;
signed main()
{
        scanf("%d",&t);
        while(t--) {
                n=m=0;
                scanf("%d %d",&n,&m);
                if (Map[n][m]) {printf("%d\n",Map[n][m]); continue; }
                if (m<=1 || n<=1 || m>n) {printf("0\n"); continue;}
                if (n==m || m==n-1) {printf("1\n"); continue;}
                ans=floor(1.0*(n-1)/(1.0*m))-floor(1.0*(n-1)/(1.0*(m+1)))+floor(1.0*n/(1.0*m))-floor(1.0*n/(1.0*(m-1)));
                // ans=abs(ans);
                Map[n][m]=ans;
                printf("%d\n",ans);
                ans=0;
        }
        return 0;
}

2020/5/3 18:48
加载中...