题目链接: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. PHP Yii2.0(一):环境搭建 & 问题集锦

    第一节 简单认识版本的异同 (1)版本说明 在安装和使用之前,我们需要知道 PHP Yii 有两个不同的版本(Yii 1.*或者Yii 2.*),这两个版本的目录结构不一样,其具体使用方式差异较大,因 ...

  2. log4js

    这一篇足够:转载:http://www.cnblogs.com/Joans/p/4092293.html 代码贴出来吧: log.js var log4js = require('log4js'); ...

  3. ejs

    这个博客比较专业些http://sunnyhl.iteye.com/blog/1985539 ejs速度不是最快的,推荐最多大概是因为其简单的语法结构.主要通过<% %><%=%&g ...

  4. EntityFramework_MVC4中EF5 新手入门教程之四 ---4.在EF中创建更复杂的数据模型

    在以前的教程你曾与一个简单的数据模型,由三个实体组成.在本教程中,您将添加更多的实体和关系,并通过指定格式. 验证和数据库映射规则,您将自定义数据模型.你会看到自定义的数据模型的两种方式: 通过添加属 ...

  5. 第十一章:WEB浏览器中的javascript

    客户端javascript涵盖在本系列的第二部分第10章,主要讲解javascript是如何在web浏览器中实现的,这些章节介绍了大量的脚本宿主对象,这些对象可以表示浏览器窗口.文档树的内容.这些章节 ...

  6. 序列化类型为“System.Data.Entity.DynamicProxies.ActionInfo_”的对象时检测到循环引用。

    解决方案: 加上 db.Configuration.ProxyCreationEnabled = false;这句话搞定~

  7. java_WEB开发 防刷新

    客户端处理: 面对客户端我们可以使用Javascript脚本来解决,如下 1.重复刷新.重复提交 Ways One:设置一个变量,只允许提交一次. <script language=" ...

  8. 【CodeForces 613B】Skills

    题 题意 给你n个数,可以花费1使得数字+1,最大加到A,最多花费m.最后,n个数里的最小值为min,为A的有k个,给你cm和cf,求force=min*cm+k*cf 的最大值,和n个数操作后的结果 ...

  9. 【HDU 5399】Too Simple

    题 Description Rhason Cheung had a simple problem, and asked Teacher Mai for help. But Teacher Mai th ...

  10. POJ-2299 Ultra_QuickSort 线段树+逆序对数

    Ultra-QuickSort Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 50737 Accepted: 18595 Des ...