题目描述:
给出两个不大于65535的非负整数,判断其中一个的16位二进制表示形式,是否能由另一个的16位二进制表示形式经过循环左移若干位而得到。
循环左移和普通左移的区别在于:最左边的那一位经过循环左移一位后就会被移到最右边去。比如:
1011 0000 0000 0001 经过循环左移一位后,变成 0110 0000 0000 0011, 若是循环左移2位,则变成 1100 000...
分类:
其他好文 时间:
2015-07-01 10:13:27
阅读次数:
124
题目描述:
中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数).
给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数)
输入:
该程序包含多组测试数据,每一组测试数据的第一行为N,代表该组测试数据包含的数据个数,1
接着N行为N个数据的输入,N=0时结束输入
输出:
输出中位数,每一组测试...
分类:
其他好文 时间:
2015-06-30 10:40:29
阅读次数:
179
题目描述:
在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?"标注.
输入:
输入包括多组数据,每组数据一行,包含一个字符串,只...
分类:
其他好文 时间:
2015-06-29 10:08:04
阅读次数:
119
题目描述:
给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的。
输入:
输入包括一行字符串,其长度不超过1000。
输出:
可能有多组测试数据,对于每组数据,如果是回文字符串则输出"Yes!”,否则输出"No!"。
样例输入:
hellolleh
helloworld
样例输出:
Yes!
No!
C++ 代码...
分类:
其他好文 时间:
2015-06-27 09:57:49
阅读次数:
137
这个是道正统的树构建和遍历题,一开始还想用数组构建代替一下水过去,但是发现不行,只好老老实实的用指针了。二叉排序树和遍历方法如果不清楚定义的话,最好去看看数据结构书复习下。
#include
struct node{
node *l;
node *r;
int val;
node(int a):val(a),l(NULL),r(NULL){};
};
node ...
分类:
编程语言 时间:
2015-06-26 22:29:36
阅读次数:
180
这题目就是一个处理字符串的简单题目,但是一开始我没有用到IHL,还是考验了一些计网的知识的。我看到有一个人写的很简洁,所以贴他的代码,给大家看看。
#include
#include
int num(char *c){ // 字符转换为数字
if(*c>='0'&&*c<='9') return *c-'0';
else return *c-'a'+...
分类:
其他好文 时间:
2015-06-21 09:31:21
阅读次数:
137
欧拉回路是指每条边恰好只走一次,并能回到出发点的路径。
我们如何判断一个图有欧拉回路?
一、无向图
每个顶点的度数都是偶数,则存在欧拉回路。
二、有向图(所有边都是单向的)
每个节顶点的入度都等于出度,则存在欧拉回路。
知道了这些,我们只要判断每个边的度数即可。
#include
#include
int du[1010];
int main(){
int m,n,x,...
分类:
其他好文 时间:
2015-06-20 17:06:53
阅读次数:
105
这题目我想到的是栈,当然感觉也是想多了,,
#include
#include
#include
using namespace std;
double round(double r)
{
return (r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5);
}
stackdata[100];
int sum;
int num;
int pre;
void...
分类:
其他好文 时间:
2015-06-18 22:20:47
阅读次数:
113
这个题目就是为了练习map,因为有可能从key查找value,由value查找key两个情况,所以需要两个map,因为map只能从key查找value。同时也考验了字符串的处理。
#include
#include
#include
#include
using namespace std;
int main(){
mapmaps;
mapmaps1;
m...
分类:
其他好文 时间:
2015-06-18 22:14:56
阅读次数:
104
这道题目一开始我还以为是并查集,后来发现比并查集简单的多,就是一个家谱树,然后找到两个节点之间的深度差。
#include
int data[30];
void make_set(){
for(int i=0;i<30;i++)
data[i]=-1;
}
int find(int a,int b){
int re=1;
while(data[...
分类:
其他好文 时间:
2015-06-18 13:38:42
阅读次数:
134