题目链接: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

 #include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std; int ans[];
int main()
{
int n,x,y,T;
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d",&n,&x,&y);
// if(n == 1 && y == 2)
// {
// printf("1\n");
// continue;
// }
///////////////////一共分四种情况
if(x <= n && y == ) //要正确同时x小于等于n的情况
{
int f = ;
for(int i = ;i <= x-;++i)
ans[++f] = i;
for(int i = x+;f <= n;++i)
ans[++f] = i;
for(int i = ;i <= n;++i)
printf(i == ? "%d":" %d",ans[i]);
puts("");
continue;
}
for(int i = ;i <= n-;++i)
printf(i == ? "%d":" %d",i);
if(n > ) printf(" ");
if(y == )
printf("%d\n",n);
else
{
if(x <= n)
printf("%d\n",n);
else printf("%d\n",x);
}
}
return ;
}

HNU 12833 Omar’s Bug(分情况讨论)的更多相关文章

  1. UESTC 1034 AC Milan VS Juventus 分情况讨论

    AC Milan VS Juventus Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Oth ...

  2. bzoj 1067 分情况讨论

    这道题考察人的严谨,各种情况分类讨论. #include <cstdio> #include <algorithm> #include <map> #define ...

  3. Valid Number——分情况讨论最经典的题(没细看)——这题必须静下心来好好看看

    Validate if a given string is numeric. Some examples: "0" => true " 0.1 " =&g ...

  4. bzoj2756: [SCOI2012]奇怪的游戏(网络流+分情况)

    2756: [SCOI2012]奇怪的游戏 题目:传送门 题解: 发现做不出来的大难题一点一个网络流 %大佬 首先黑白染色(原来是套路...)染色之后就可以保证每次操作都一定会使黑白各一个各自的值加1 ...

  5. HDU6444(子段和、分情况比较)

    要点 不难想到gcd一下然后枚举每个开头走一圈,并记录一下数值. 最终答案是分情况的:1.能走几圈走几圈然后加上最后剩余的最大子段和:2.也可能是最后一圈后面的拖后腿了,所以最后一圈没走完就停,即长度 ...

  6. CONTINUE...?模拟分情况

    CONTINUE...? DreamGrid has  classmates numbered from  to . Some of them are boys and the others are ...

  7. HDU 2577 分情况多维DP

    How to Type Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  8. Vue中你可能认为是bug的情况原来是这样的

    前言 我们知道Vue框架剧本双向数据绑定功能,在我们使用方便的同时,还有一些细节问题我们并不知道,接下来一起探讨一些吧 双向数据绑定 js变量改变影响页面 页面改变影响js变量 Vue2是如何做到数据 ...

  9. Codeforces 898 贪心关闭最少闹钟 优先队列最少操作构造N/2squares 讨论情况哈希数字串分割a+b=c

    A /* Huyyt */ #include <bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define mkp(a,b) ...

随机推荐

  1. jsoup抓取借书记录

    package tushuguan; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; ...

  2. 自己保留:data provider

    <system.data>    <DbProviderFactories >      <add name="MySQL Data Provider" ...

  3. C#中的yield return与Unity中的Coroutine(协程)(下)

    Unity中的Coroutine(协程) 估计熟悉Unity的人看过或者用过StartCoroutine() 假设我们在场景中有一个UGUI组件, Image: 将以下代码绑定到Image using ...

  4. AaronYang的C#私房菜[二][提供编程效率的技巧]

    前言 我的文章简单易懂,能学到东西.因为复杂的东西,讲起来,好累.阅读者只是膜拜,学不到东西,就是没用的东西,好多文章都是看不下去.我写不出来<大话设计模式>那种为了读者的书,因为没有时间 ...

  5. 第四十课:CSS3 transition详解

    W3C中对transition是这样描述的:允许css的属性值在一定的时间内平滑的过渡,也就是说,以动画的效果改变css的属性值. transition主要包含4个属性值:transition-pro ...

  6. 一条命令使win7可以直接运行.net3.5程序

    dism /online /get-features 获取 功能名称 dism /online /enable-feature /featurename:NetFx3  启用win7自带的.net f ...

  7. iOS边练边学--AFNetWorking框架GET、Post、Download、Upload,数据解析模式以及监控联网状态

    一.AFNETWorking简单使用 get请求 get请求,以后经常用NSURLSession底层的写的部分 简单的post请求 用post请求下载文件,方法很多,还可以通过upload任务来执行 ...

  8. Lucene 4.7 --实现搜索

    先看一段代码 IndexSearcher searcher = new IndexSearcher(DirectoryReader.open(FSDirectory.open(new File(&qu ...

  9. [转]window.opener用法

    window.opener 实际上就是通过window.open打开的窗体的父窗体. 比如在父窗体parentForm里面 通过 window.open("subForm.html" ...

  10. 【bzoj1016】 JSOI2008—最小生成树计数

    http://www.lydsy.com/JudgeOnline/problem.php?id=1016 (题目链接) 题意 求图的最小生成树计数. Solution %了下题解,发现要写矩阵树,15 ...