• 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
  • 相关阅读:
    android viewpager嵌套使用photoview异常问题
    android mvp设计模式
    android webview处理h5打开本地文件浏览器的功能
    使用python进行新浪微博粉丝爬虫
    android之ViewPager修改滑动速度
    我眼中的“阿里月饼事件”
    奄奄一息雏鸟
    RPC(远程过程调用)的应用
    对于开源菜谱的思考
    我跟360上网导航的过招
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3857732.html
Copyright © 2020-2023  润新知