Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 无法理解竞争性考试?_C_Algorithm - Fatal编程技术网

C 无法理解竞争性考试?

C 无法理解竞争性考试?,c,algorithm,C,Algorithm,我昨天参加了一个比赛。我无法解决下面的问题。比赛结束后,我看到了一个人的解决方案,我无法理解。他是如何在这么短的时间内做到这一点的。他申请的东西。请解释他的解决办法 您将获得两个数字N和K,以及一组X X={X:X是一个自然数≤ N}您必须找到总数 属于给定元素的元素对数X[i]和X[j] 设置,使得,im/2) c+=y-m/2; printf(“%lld\n”,c); } } 提示 暴力手段: 您可以在0I上编写一个双循环,删除Python并添加C,因为代码显然是C。 2 10 4 7 3

我昨天参加了一个比赛。我无法解决下面的问题。比赛结束后,我看到了一个人的解决方案,我无法理解。他是如何在这么短的时间内做到这一点的。他申请的东西。请解释他的解决办法

您将获得两个数字
N
K
,以及一组
X

X={X:X是一个自然数≤ N}
您必须找到总数 属于给定元素的元素对数
X[i]
X[j]
设置,使得,
i
及其和可被
K
整除

输入格式:

一个整数
T
,后跟
T
行,每行包含一对空格 分离整数
N
K

输出格式:

T
单独行上的整数。每个整数表示答案 对应于该测试用例

约束条件:

1≤T≤100

K≤N≤10^9

1≤K≤10000

样本输入(明文链接)

样本输出(明文链接)

解释

对于第一个测试用例,有10对其总和可被4整除。 (1,3)、(1,7)、(2,6)、(2,10)、(3,5)、(3,9)、(4,8)、(5,7)、(6,10)和 (7,9)

对于第二个测试用例,有7对其总和可被3整除。 (1,2)、(1,5)、(2,4)、(2,7)、(3,6)、(4,5)和(5,7)

解决方案--

#包括
int main()
{
长整型t,n,m,x,y,c=0;
scanf(“%lld”、&t);
而(t--)
{
scanf(“%lld%lld”、&n和&m);
c=0;
x=n/m;
y=n%m;
c+=((x*x*(m-1)-(m%2==0)?x:0))+x*(x-1))/2+y*x;
如果(y>m/2)
c+=y-m/2;
printf(“%lld\n”,c);
}
}
提示

暴力手段:


您可以在
0I上编写一个双循环,删除Python并添加C,因为代码显然是C。
2
10 4
7 3
10
7
#include<stdio.h>

int main()
{
    long long int t,n,m,x,y,c=0;
    scanf("%lld",&t);
    while(t--)
    {
        scanf("%lld %lld",&n,&m);
        c=0;
        x=n/m;
        y=n%m;
            c+=((x*x*(m-1)-((m%2==0)?x:0))+x*(x-1))/2+y*x;
            if(y>m/2)
            c+=y-m/2;
        printf("%lld\n",c);
    }
}
N=9, K=3

1 => *2*  3   4  *5*  6   7  *8*  9  => 3
2 =>      3  *4*  5   6  *7*  8   9  => 2
3 =>          4   5  *6*  7   8  *9* => 2
4 =>             *5*  6   7  *8*  9  => 2
5 =>                  6  *7*  8   9  => 1
6 =>                      7   8  *9* => 1
7 =>                         *8*  9  => 1
8 =>                              9  => 0