拯救爱情

每日一练社区 2022-06-17 14:33:51

小艺酱走到一个花之占卜店中。
店员小Q看到小艺酱可怜的样子,允许小艺酱免费占卜一次。
花瓣占卜:
1. 一瓣“在一起”,一瓣“不在一起”;开始的花瓣表示“在一起”。
2. 直到最后一个花瓣落地游戏结束。
3. 可以选择多朵花,选择撕一朵花就必须撕完。

输入描述:

第一行输入花的数量n。(1<=n<=1000)
第二行输入每朵花的花瓣数量。(1<=an<=1e5)

输出描述:

输出小艺酱最多撕下了多少花瓣结果还是在一起。

输入样例:

1
1

输出样例:

1

返回练习题答题页面

...全文
419 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

若是没有奇数则应该输出什么,**0 还是None还是-1**,这个应该就是导致通过率只有70%。求大佬解答



# 请关闭中文输入法,用英文的字母和标点符号。
# 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
# 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
# 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com


class Solution:
    def __init__(self) -> None:
        pass
    def solution(self, n, arr):
        result = None
        sum = 0
        arr.sort()
        a = []
        for i in range(n):
            sum += arr[i]
            if arr[i] % 2 == 1:
                a.append(arr[i])
            
        if sum % 2 == 1:
            result = sum 
        else:
            if a == []:
                result = -1# 若无奇数,则多少花瓣
            else:
                result=sum-min(a)  
        return result


if __name__ == "__main__":

    n = int(input().strip())

    arr = [int(item) for item in input().strip().split()]

    s = Solution()
    result = s.solution(n, arr)

    print(result)


CSDN-Ada助手 2023-05-31
  • 举报
回复
@爱吃饼干的小白鼠 当没有奇数的时候,会输出-1,代表无法拯救爱情,希望能够解决您的问题。
躺平的小菜鸟 2023-03-14
  • 打赏
  • 举报
回复 1

// 请关闭中文输入法,用英文的字母和标点符号。
// 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
// 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
// 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
// 模版代码提供基本的输入输出框架,可按个人代码习惯修改



import java.util.ArrayList;
import java.util.Scanner;
import java.lang.Math;

class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String str_0 = scan.nextLine().trim();
        int n = Integer.parseInt(str_0);

        

        
        String str_1 = scan.nextLine();
        String[] line_list_1 = str_1.trim().split(" ");        
        ArrayList<Integer> arr = new ArrayList<>();
        for(int i = 0; i < line_list_1.length; i++){
            arr.add(Integer.parseInt(line_list_1[i]));
        }
    

        scan.close();

        int result = solution(n, arr);

        System.out.println(result);

    }

    public static int solution(int n, ArrayList<Integer> arr){
        int result = 0;

        // TODO: 请在此编写代码
        int sum = 0;
        int minSingle = 100000 - 1;
        int number = 0;
        for(int i = 0; i < n; i ++){
            sum += arr.get(i);
            if(arr.get(i) % 2 != 0 && arr.get(i) < minSingle){
                minSingle = arr.get(i);
            }
        }
        if(minSingle == 100000 - 1){
            minSingle = 0;
        }
        if(sum % 2 != 0){
            result = sum;
        }else{
            result = sum - minSingle;
        }

        return result;
    }
}

躺平的小菜鸟 2023-03-14
  • 举报
回复
@躺平的小菜鸟 求大佬指点,只有70%的case通过率
CSDN-Ada助手 2023-05-12
  • 举报
回复
@躺平的小菜鸟 CSDN助手: 你好,根据你提供的代码和测试样例,我发现有一些问题。首先,在输入的时候,你读取了两行输入,但是输入格式只有一行,因此你需要将第一行的代码删除。另外,在你的solution函数中,你将ArrayList传递进来,这是不规范的,你应该使用泛型类型ArrayList<Integer>来传递整数类型的列表。最后,你需要考虑一些其他情况,比如说当最小的奇数值大于等于偶数和时,你应该返回原始的偶数和,而不是将其减去最小的奇数值。我修改了你的代码,请参考以下代码,希望对你有所帮助。 ``` import java.util.ArrayList; import java.util.Scanner; class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); ArrayList<Integer> arr = new ArrayList<>(); for(int i = 0; i < n; i++){ arr.add(scan.nextInt()); } scan.close(); int result = solution(n, arr); System.out.println(result); } public static int solution(int n, ArrayList<Integer> arr){ int result = 0; int sum = 0; int minSingle = Integer.MAX_VALUE; for(int i = 0; i < n; i ++){ sum += arr.get(i); if(arr.get(i) % 2 != 0 && arr.get(i) < minSingle){ minSingle = arr.get(i); } } if(sum % 2 != 0){ result = sum; }else if(minSingle == Integer.MAX_VALUE){ result = 0; }else if(sum - minSingle >= sum){ result = sum; }else{ result = sum - minSingle; } return result; } } ```
文盲老顾 2023-02-06
  • 打赏
  • 举报
回复

通过异常抛出用例,一共抛出5组用例,其中前四组通过,最后一组结果与用例结果不一致

前五组

673 978 637 934==2585

4 1 2 9 9 2 9==35

778 787 157 790 892 578 209 554 166 540 547 933 182 390 64 214 122 915 465 180 466 513 430 49==10921

3 5 5 0 6 5==21

第五组无法通过,得到结果后,修改结果通过率无变动

37603 80044 70210 3632 63297 19 16665 35991 88405 83386 51885 40940 28152 53123 50339 8498 41254 46768 68820 45206 22557 20201 2515 76252 68888 79083 27292 3700 39639 88150 30865 77109 44986 27138 13489 63356 37909 10931 45261 12765 20698 96799 95106 36986 47268 22907 96641 88364 67564 35026 56803 14692 81061 68852 21061 31463 87613 82092 75766 32386 73070 27725 81636 8555 46686 51711 57245 98389 92063 92911 64328 35828 18954 92998 99386 86113 34548 79502 95817 30697 5134 21653 32909 67855 71122 24004 21284 79965 15423 29220 80307 51888 34795 97997 41703 88221 80794 99357 20917 84303 76018 55502 70398 32869 20351 39848 72522 35925 62413 90570 4530 47920 10767 49521 10215 31554 42034 53512 54162 82645 81506 91000 15704 60722 82897 39964 6765 80928 30628 62689 85333 64945 65 95578 35407 70338 26759 84505 3417 42538 8185 47856 86705 15977 64678 20103 9247 10627 24803 70650 94994 17985 33723 59663 13024 38257 76225 86701 89034 94302 74920 69975 18610 11354 65980 97863 22292 60704 35468 83089 63477 75412 35670 22189 23339 77259 44288 1565 4750 81466 6771 60408 16275 98194 52067 47041 95450 69038 73598 94256 49514 56866 46687 64039 91841 46625 87857 90804 16692 56316 90394 75800 55360 33832 17792 45381 52898 13407 3556 89259 49300 27285 27014 89131 97551 66176 58589 1121 32401 54071 58608 18159 47639 79522 64760 88290 71269 12967 735 86250 58471 54057 35397 47445 73329 2998 66530 58299 5732 66454 49347 30852 28181 64546 57945 1105 61612 55747 46162 71695 77675 97936 76353 73927 90678 7231 28243 41832 23060 87279 53856 20179 57907 1355 67884 43200 42724 97898 13285 81567 8538 70 78119 97273 3597 34988 61911 17697 85741 74026 2510 84372 63127 74962 31056 7469 21212 91057 6971 56583 54682 47247 63869 56917 31960 24382 85591 38785 46379 39724 11240 27009 98647 62482 33782 34022 37205 617 86955 1335 11840 46053 8291 6881 44534 89433 16194 67646 75624 9736 80580 75017 72657 54988 79822 86128 21724 28066 57281 13950 49974 53836 58584 7192 1348 28559 8095 5373 25981 38946 55251 54631 86224 95634 57674 73134 49755 11189 99194 28019 4731 55576 7503 94122 49631 74675 62483 38206 81864 91569 70435 37504 54696 34850 19463 8712 35585 4290 94329 83170 68319 11575 36062 72405 64455 7297 58021 94793 95983 83932 18612 67972 30136 14690 83253 82138 46485 47067 46172 80199 85128 58727 17699 70754 21026 57505 6677 43592 11661 76241 64919 3545 70188 35489 14645 11876 78253 23408 62120 7494 16532 57190 19841 39943 8999 30179 514 23637 52007 24623 3474 98491 21801 40009 23141 6481 87622 55496 5151 82110 58461 58472 13662 28625 28805 43918 38347 24540 75329 46848 58136 86928 5850 71294 84587 54688 72502 60128 17240 64391 94184 99591 68580 55287 41545 18993 94083 36346 23666 99831 78835 58520 40378 14710 99271 49332 86061 49816 41027 52145 35123 62718 99232 83762 2748 4014 64065 30331 65563 90859 38749 11889 38704 92390 1045 89686 6746 93102 47812 53526 69239 47760 46643 67543 55969 68639 42063 17202 67704 41987 14213 75705 42645 58253 97454 52076 50766 54838 48183 41417 56605 22220 77320 68039 96594 70436 55895 76724 99372 82332 19432 23927 74509 26635 37621 95526 52707 63224 41887 29920 97993 69873 11632 39957 49614 58155 67242 23415 83798 65402 36645 40355 39422 98899 14687 56117 53178 36425 12883 41188 71389 14154 26373 20151 98875 798 38117 27883 60854 66376 58753 11281 95655 91607 50690 40910 98609 49856 95816 77551 97905 66590 84013 95995 28892 55147 68703 67136 66031 86271 52712 93980 17026 10695 37478 93260 4785 86829 42649 14983 23861 76747 6761 85417 96670 9979 99437 28526 64624 76305 3157 82514 84957 3886 33461 94544 98077 11045 12366 89835 87936 30994 58275 2570 10486 46615 82164 51420 42031 20713 53956 79537 88721 80224 36539 78454 84055 96734 19669 5503 13480 28606 32700 65657 44875 76685 47249 96826 87895 79691 75380 87569 49857 6610 40800 16948 33198 47218 5660 34586 5188 34188 29454 72881 12558 85998 58819 88739 8538 26712 44452 15434 57623 12931 21023 94450 10875 17055 83153 21970 68439 65810 18086 60567 93907 82132 54283 62488 67316 19793 27452 53779 28867 53035 21765 87557 58282 9449 1668 44502 12394 49386 63976 33963 28287 73096 9469 6736 15318 92740 9450 84704 68406 37319 68410 22125 26240 56207 57472 68553 23085 65005 16149 91253 96721 49497 9281 37057 59577 86335 61522 60224 34197 78896 76011 7667 12893 10995 96345 97835 1027 81871 80854 70057 17995 64490==36983423

其他用例通过 if (result = 结果) result = 0,可以明显看出通过率变动,唯有这个第五组对不上

CSDN-Ada助手 2023-05-12
  • 举报
回复
@文盲老顾 请问您的问题是什么呢?看不太清楚。
海轰Pro 2022-11-28
  • 打赏
  • 举报
回复

运行中...
运行成功:
不通过
您的代码已保存。
答案错误,您提交的程序没有通过所有的测试用例。
case通过率:70.0%

#include <bits/stdc++.h>
using namespace std;

int solution(int n, std::vector<int>& vec){
    int result = 0;
    // TODO:
    int sum = accumulate(vec.begin(), vec.end(), 0);
    if(sum % 2 == 1) {
        return sum;
    }else {
        // 减去最小的奇数
        sort(vec.begin(), vec.end());
        for(int i = 0; i < n; ++i) {
            if(vec[i] % 2 == 1) {
                return sum - vec[i];
            }
        }
    }
    return result;
}

int main() {

    int n;
    std::vector<int> vec;

    std::cin>>n;
    
    std::string line_0, token_0;
    getline(std::cin >> std::ws,line_0);
    std::stringstream tokens_0(line_0);
    while(std::getline(tokens_0, token_0, ' ')){
        vec.push_back(std::stoi(token_0));
    }
    

    int result = solution(n,vec);

    std::cout<<result<<std::endl;

    return 0;
}

11,410

社区成员

发帖
与我相关
我的任务
社区描述
Study well and make progress every day
其他 企业社区
社区管理员
  • 每日一练社区
  • CSDN学习
  • 幻灰龙
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧