任何人都可以查看以下 UVa 10038 的解决方案代码吗?

杰伊德·耶明

我目前正在解决UVa 问题编号。10038所以,为了调试我的代码,我去了uDebug并发现我的代码几乎完整,但有一些例外。

我希望审查以下代码。任何编辑建议都会有所帮助。

我曾尝试使用 while 循环(在代码的近端)而不是 if 语句,但这会冻结输入。

/*#include <iostream>, <vector>, <algorithm>, <functional>*/

int main(){
/*Declaring everything required*/
    int n, num, diff;
    bool is_jolly;
    vector<int> numbers, differences;

    while(cin >> n){
        /*Deleting all elements before working with them*/
        numbers.clear();
        differences.clear();

/*A sequence of single number is always JOLLY*/

            /*Taking in all the numbers*/
            for(int i = 0; i < n; i++){
                cin >> num;
                numbers.push_back(num);
            }

            /*Calculating the absolute value of those*/
            for(int i = 1; i < n; i++){
                diff = abs(numbers[i] - numbers[i - 1]);
                differences.push_back(diff);
            }

            /*Sorting the differences in descending order*/
            if(differences.size() > 1){
                sort(differences.begin(), differences.end(), greater<int>());
            }

            /*Creating a iterator for checking if the value reached one through n - 1*/
            int k = n - 1;
            for(int i = 0; i < differences.size(); i++){
                if(differences[i] == k){/*Tried the while loop here*/
                    is_jolly = true;/*<-----This is where the problem is. If the difference at first is equal to k then it will not check again. I want it to check as long as the loop runs*/
                }else{
                    is_jolly = false;
                }
            k--;
            }
/*if is_jolly is true will print "Jolly" else "Not jolly"*/

        }

    }
return 0;
}

输入是

1 2000
5 1 4 2 -1 6
2 1999 1998
4 1 4 2 3
4 1 3 2 -2 <---- Here I am getting Jolly instead of Not Jolly
4 1 4 3 5
4 1 2 5 7
3 4 1 3
4 1 4 2 3
4 1 2 3 6 <--- Here I am getting Jolly instead of Not Jolly
2 1 3
1 1

其他一切都按预期工作。

法鲁克侯赛因

像这样改变这个循环。

如果在任何时候,任何差异 [i]都不等于k,那么它就不是 jolly否则,它是快乐的因此,我们将在任何时候检查差异 [i]是否等于 k ​​则is_jollyfalse

is_jolly = true; // suppose the answer is true
for(int i = 0; i < differences.size(); i++){
     if(differences[i] != k){    // if at any time this value is not k then answer is false.
          is_jolly = false;
          break;
     }
     k--;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

任何人都可以解释为什么这代码连接,而不是增加的数值?

任何人都可以理解connStateInterface吗?

任何人都可以帮助解析HCL吗?

任何人都可以建议以下代码的时间复杂度

问题:排序数组的平方 任何人都可以查看此代码

任何人都可以建议在Julia中纠正以下数组理解吗

任何人都可以对以下javascript RE代码进行解释吗?

任何人都可以评论此ruby代码吗?

任何人都可以帮我尝试以下代码的分页...!

任何人都可以在Codecademy-Calendar App的Angular代码中发现错误吗?

任何人都可以更正此代码吗?

任何人都可以处理吗?

任何人都可以帮助我解决 Hibernate 和 JSF 的这个缺点吗?

任何人都可以帮助我们解决这些 Xcode 错误吗?

任何人都可以建议 jmeter 脚本录制除 blazemeter 以外的替代方案吗?

在 R 中绘制 3D 游戏,任何人都可以查看代码

代码在 grailsApplication.config.grails.binRange 失败。任何人都可以解决这个问题?

任何人都可以指导我查看用于生成中性景观模型的 Netlogo 代码示例吗?

任何人都可以在这段代码中解释我的打印语句吗?

任何人都可以在 matlab 中识别混合 GA PSO 代码中的错误吗?

任何人都可以帮助 Type 'Observable<Detail>' 缺少以下问题吗?

sigsev 错误;任何人都可以查看代码并找出导致 sigsev 错误的原因

任何人都可以帮助我理解下面代码中的问题吗?

任何人都可以帮助我进行以下 SQL 查询吗?

任何人都可以回答这个问题吗?

任何人都可以在 Google 表格中查看有关 ArrayFormula 的这个公式吗?

任何人都可以在颤振中向我解释这段代码吗?

任何人都可以通过 PySimpleGUI 帮助我编写代码完成此操作

任何人都可以帮助解决这些haskell练习吗?