Hackerrank的测试案例失败

时间:2019-02-07 06:24:00

标签: c loops pattern-matching

为陈述问题,我附了两张照片。

https://i.stack.imgur.com/22zyM.png

https://i.stack.imgur.com/5c8e6.png

我的代码:

for(i=0;i<300;i++)
{
    x[i]=i;y[i]=i;z[i]=i;
}

//printf("Enter number : "); 
scanf("%d",&n);
printf("%d\n",n);
//for(i=0;i<n;i++)
i=0;
do
{
    for(int j=0;j<n;j++)
    {
        for(int k=0;k<n;k++)
        {
            if(x[i]+y[j]+z[k]==n)
            {
                printf("%d %d %d \n",x[i],y[j],z[k]);
                i++;
            }
        }
    }
}while(i<n);

现在,我为自定义输入值获取的输出对于所有值都是正确的。但是,当我尝试在网站上检查它的测试用例时,它仅能正确显示两种情况。

问题陈述链接:https://www.hackerrank.com/challenges/beautiful-3-set/problem?h_r=next-challenge&h_v=zen&isFullScreen=false

请帮助我解决此问题。谢谢。

1 个答案:

答案 0 :(得分:1)

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int n, k;

int main() {
scanf("%d", &n);
k = (2 * n) / 3;
printf("%d", k + 1);
printf("\n");
int y = 2 * k - n;
int x = n - 2 * y;
for (int i = 0; i <= y; i++) {
    printf("%d %d %d", i, x + i, n - x - 2 * i);
    printf("\n");
}
for (int i = 0; i < k - y; i++) {
    printf("%d %d %d", y + i + 1, i, n - y - 1 - 2 * i);
    printf("\n");
}
return 0;
}
相关问题