当前位置: 首页 > 知识库问答 >
问题:

SPOJ“ACPC10A-下一步是什么”-回答错误

师承弼
2023-03-14

我尝试了以下代码,它与我尝试的自定义输入配合得很好,但是,它不被接受,并显示-WRONG ANSWER

SPOJ-https://www.spoj.com/problems/ACPC10A/

import java.util.*;
import java.lang.*;

class Main
{
    public static void findProgression(int a, int b, int c){
        int diff1 = Math.abs(b-a);
        int diff2 = Math.abs(c-b);
        int nextNumber;
        if(diff1 == diff2){
            nextNumber = c + diff1;
            System.out.println("AP " + nextNumber);
        }else{
            nextNumber = c*b/a;
            System.out.println("GP " + nextNumber);
        }
    }

    public static void main (String[] args) throws java.lang.Exception
    {
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = scan.nextInt();
        while(a != 0 || b != 0 || c != 0){
            findProgression(a,b,c);
            a = scan.nextInt();
            b = scan.nextInt();
            c = scan.nextInt();
        }       
    }
}

共有1个答案

濮阳
2023-03-14

要注意的事情很少:

1)差异应该按现状进行比较,而不是绝对值。

2)在计算GP的共同比率时要小心。使用打字。

3)溶液的破碎条件。

4)整数溢出。

请查看以下实现:

import java.util.*;
import java.lang.*;

class Solution
{
    public static void findProgression(long a, long b, long c){
        long diff1 = b-a;
        long diff2 = c-b;
        long nextNumber;
        if(diff1 == diff2){
            nextNumber = c + diff1;
            System.out.println("AP " + nextNumber);
        }else{
            nextNumber = (long)((double)c*((double)c/(double)b));
            System.out.println("GP " + nextNumber);
        }
    }

    public static void main (String[] args) throws java.lang.Exception
    {
        Scanner scan = new Scanner(System.in);

        while(true){

            int a = scan.nextInt();
            int b = scan.nextInt();
            int c = scan.nextInt();

            if(a==0 && b==0 && c==0)break;

            findProgression(a, b, c);

        }
    }
}
 类似资料:
  • 链接到挑战 拉梅什和苏雷什每人在彩票上都会得到一个满满五颗星的盒子。由于两个盒子不需要相同数量的巧克力,他们决定玩游戏。获胜者可以同时拥有两盒巧克力。他们交替玩,苏雷什开始游戏。给定两个盒子中的巧克力数量,让它们成为c1和c2,玩家取c1或c2数量的巧克力,并将剩余的一盒巧克力分成两盒(这两个盒子不需要相同数量的巧克力)。不能做出这种举动的玩家输了。输入 输入的第一行包含一个数字 T(1 (1 输

  • 下面是SPOJ的一个归档问题。示例测试用例通过了,但我在提交时得到了W/A。我缺少一些测试用例(testCase)。需要帮助来找出我错过了什么案例和/或我做错了什么。 瓢虫艾达正在和她的朋友维尼特玩除数游戏。这个游戏有以下规则。他们之间有一堆石头。移动中的玩家可以选择至少1块,最多σ(N)块石头(其中σ(N)代表N的除数)。显然,N在每次移动后都会发生变化。得不到任何石头(N==0)的人输了。 因

  • 本文向大家介绍请你回答一下野指针是什么?相关面试题,主要包含被问及请你回答一下野指针是什么?时的应答技巧和注意事项,需要的朋友参考一下 野指针就是指向一个已删除的对象或者未申请访问受限内存区域的指针。

  • 这是我的代码。它正在传递问题语句中给出的测试用例。问题链接:http://www.spoj.com/problems/ACPC10D/tri[i][j]存储从tri[0][1]到达索引(i, j)的最小值。

  • 我试着在SPOJ上解决一个问题,我们必须简单地找到给定数组a的最长递增子序列的长度。 我用动态规划O(n^2)算法解决了这个问题,这个解决方案被接受了。。以下是被接受的代码: 但是当我试图用第二种方法(LINK)解决它时,:: ,我得到了错误的答案。 这是我的c代码 我不知道为什么我会得到错误的答案。你能帮我找到这个错误吗。或者站点中给出的基于LCS的LIS算法不正确??

  • 本文向大家介绍请你回答一下测试的相关流程是什么?相关面试题,主要包含被问及请你回答一下测试的相关流程是什么?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 测试最规范的过程如下 需求测试->概要设计测试->详细设计测试->单元测试->集成测试->系统测试->验收测试 来自W模型