• HNU 12833 Omar’s Bug(分情况讨论)


    题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12833&courseid=268

    解题报告:有个11个月大的程序员写了一个二分查找,想要实现的功能是输入一个数组,数组里面都是100以内的整数,然后输入一个x,如果这个数组中存在大于等于x的

    数就输出这个数在数组中的位置,如果没有就输出数组的长度,但是这个代码有bug。现在给出数组长度n,x,还有一个y,y为1的时候让你出一组可以让这段代码得到正确答案的数据,y为2的时候让你出一组让这段代码可以得到错误结果的数据。

    分四种情况讨论

    1.x <= n && y == 1        ////输出    1,2,3.....(x-1)  (x+1)....n+1

    2.x > n && y == 1          ////1,2,3,4......n

    3.x <= n && y == 2       ////1,2,3,4.......n

    4.x > n && y == 2        //////1,2,3,4 .......x

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<iostream>
     5 using namespace std;
     6 
     7 int ans[10005];
     8 int main()
     9 {
    10     int n,x,y,T;
    11     scanf("%d",&T);
    12     while(T--)
    13     {
    14         scanf("%d%d%d",&n,&x,&y);
    15     //    if(n == 1 && y == 2)
    16     //    {
    17     //        printf("1
    ");
    18     //        continue;
    19     //    }
    20         ///////////////////一共分四种情况
    21         if(x <= n && y == 1)     //要正确同时x小于等于n的情况
    22         {
    23             int f = 0;
    24             for(int i = 1;i <= x-1;++i)
    25             ans[++f] = i;
    26             for(int i = x+1;f <= n;++i)
    27             ans[++f] = i;
    28             for(int i = 1;i <= n;++i)
    29             printf(i == 1? "%d":" %d",ans[i]);
    30             puts("");
    31             continue;
    32         }
    33         for(int i = 1;i <= n-1;++i)
    34         printf(i == 1? "%d":" %d",i);
    35         if(n > 1) printf(" ");
    36         if(y == 1)
    37         printf("%d
    ",n);
    38         else
    39         {
    40             if(x <= n)
    41             printf("%d
    ",n);
    42             else printf("%d
    ",x);
    43         }
    44     }
    45     return 0;
    46 }
    View Code
  • 相关阅读:
    EF系列——DbContext 和DbSet
    EF中的实体关系
    EF中的持久化场景
    Sass
    js里==和===的区别 、sass与less的区别 、style,与class区别(精解版)
    HTML页面加载和解析流程 link与script标签
    DesktopNaotu 百度桌面脑图使用事项
    BootStrap4中使用图标
    Bootstrap4
    CDN文件
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3857732.html
Copyright © 2020-2023  润新知