鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: chenwhccc

求助求助 k型好数列

[复制链接]
 楼主| 发表于 2021-11-21 14:27:32 | 显示全部楼层
jhq999 发表于 2021-11-21 13:09
看看这个思路怎么样
末位淘汰制,直到大家整除的数量一样,且数量=剩下的-1

😰😰😰😰
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-21 16:04:18 | 显示全部楼层
本帖最后由 jhq999 于 2021-11-21 16:18 编辑

又想错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-21 16:21:27 | 显示全部楼层

我出答案了 但是需要优化一下 这个怎么发图片啊?我发给你看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-21 17:16:04 | 显示全部楼层
本帖最后由 jhq999 于 2021-11-21 17:21 编辑
chenwhccc 发表于 2021-11-21 16:21
我出答案了 但是需要优化一下 这个怎么发图片啊?我发给你看看

发代码啊!
给我一个实例,自己想实例验证太麻烦了,不知道做的对不对

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-21 17:26:10 | 显示全部楼层
jhq999 发表于 2021-11-21 17:16
发代码啊!
给我一个实例,自己想实例验证太麻烦了,不知道做的对不对

能加一下QQ吗 这个网站我不知道怎么发
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-21 17:39:24 | 显示全部楼层
本帖最后由 jhq999 于 2021-11-21 17:40 编辑
chenwhccc 发表于 2021-11-21 17:26
能加一下QQ吗 这个网站我不知道怎么发


你是用手机还是PC,pc直接按
红圈里的<>,把代码复制到出现的对话框里
输出实例和答案也如此操作
无标题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-21 17:39:29 | 显示全部楼层
jhq999 发表于 2021-11-21 17:16
发代码啊!
给我一个实例,自己想实例验证太麻烦了,不知道做的对不对

#include <stdio.h>
int main()
{
        int n,k,i,j,a=0;
        long A[100001],b[100001];
        int a1=0,a2=0,a3=0;
        scanf("%d %d",&n,&k);
        for(i=0;i<n;i++)
        {
                scanf("%d",&A[i]);
        b[i+0]=A[i+0]%k;
        if(b[i+0]==0)
        {
                a1++;
                }
            if(b[i+0]==k*(1/2))
                {
                        a2++;
                }
                if(a3=0)
                for(j=i-1;j<n;j--)
                if(b[i+0]+b[j+0]==k)
                {
                        a3=1;
                }
        }
   
        if(a1>a2)
          a=a1;
        else
          a=a2;
        if(a>=2)
          printf("%d",a);
        else
           if(a3==1)
              printf("2");
           else
              printf("-1");

        return 0;
       
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-21 17:40:03 | 显示全部楼层
jhq999 发表于 2021-11-21 17:16
发代码啊!
给我一个实例,自己想实例验证太麻烦了,不知道做的对不对

这个答案能运行出来但是 时长很长 需要优化
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-21 17:42:52 | 显示全部楼层
本帖最后由 jhq999 于 2021-11-21 17:44 编辑
#include <stdio.h>
int main()
{
        int n,k,i,j,a=0;
        long A[100001],b[100001];
        int a1=0,a2=0,a3=0;
        scanf("%d %d",&n,&k);
        for(i=0;i<n;i++)
        {
                scanf("%d",&A[i]);
        b[i]=A[i]%k;
        if(b[i]==0)
        {
                a1++;
                }
            if(b[i]==k*(1/2))
                {
                        a2++;
                }
                if(a3=0)
                for(j=i-1;j<n;j--)
                if(b[i]+b[j]==k)
                {
                        a3=1;
                }
        }
   
        if(a1>a2)
          a=a1;
        else
          a=a2;
        if(a>=2)
          printf("%d",a);
        else
           if(a3==1)
              printf("2");
           else
              printf("-1");

        return 0;
       
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-21 17:47:04 | 显示全部楼层

这个是优化之后的吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-21 17:50:14 | 显示全部楼层
chenwhccc 发表于 2021-11-21 17:47
这个是优化之后的吗?


这是你的,我给你改改,你看对不对,发个例子过来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-21 17:54:20 | 显示全部楼层
输入5 3
1 2 3 3 6
输出3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-21 18:03:42 | 显示全部楼层
#include <stdio.h>
int main()
{
        int n,k,i,j,a=0;
        long A[100001],b[100001];
        int a1=0,a2=0,a3=0;
        scanf("%d %d",&n,&k);
        for(i=0;i<n;i++)
        {
                scanf("%d",&A[i]);
        b[i]=A[i]%k;
        if(b[i]==0)
        {
                a1++;
                }
            if(b[i]==k/2)
                {
                        a2++;
                }
                if(a3==1)
                continue;
                for(j=i+1;j<n;j++)
                if(b[i]+b[j]==k)
                {
                        a3=1;
                }
        }
   
        if(a1>a2)
          a=a1;
        else
          a=a2;
        if(a>=2)
          printf("%d",a);
        else
           if(a3==1)
              printf("2");
           else
              printf("-1");

        return 0;
       
}
一直无法优化
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-21 18:28:38 | 显示全部楼层


8 7
1 3 5 7 9 11 13 15
这个结果是-1出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-21 18:34:26 | 显示全部楼层
jhq999 发表于 2021-11-21 18:28
8 7
1 3 5 7 9 11 13 15
这个结果是-1出错
#include <stdio.h>
int main()
{
        int n,k,i,j,a=0;
        long A[100001],b[100001];
        int a1=0,a2=0,a3=0;
        scanf("%d %d",&n,&k);
        for(i=0;i<n;i++)
        {
                scanf("%d",&A[i]);
        b[i]=A[i]%k;
        if(b[i]==0)
        {
                a1++;
                }
            if(k%2==0)
                        if(b[i]==k/2)
                {
                        a2++;
                }
                if(a3==1)
                continue;
                for(j=i-1;j>=0;j--)
                if(b[i]+b[j]==k)
                {
                        a3=1;
                }
        }
   
        if(a1>a2)
          a=a1;
        else
          a=a2;
        if(a>=2)
          printf("%d",a);
        else
           if(a3==1)
              printf("2");
           else
              printf("-1");

        return 0;
       
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-21 18:34:58 | 显示全部楼层
chenwhccc 发表于 2021-11-21 17:54
输入5 3
1 2 3 3 6
输出3

这是对的  你能看看帮我改改吗  或者其他方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-21 18:51:03 | 显示全部楼层
本帖最后由 jhq999 于 2021-11-21 19:15 编辑


7 11
1 3 5 7 9 11 13 15
2

可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 01:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表