九度OJ
文章平均质量分 58
xiaoran_zhu
这个作者很懒,什么都没留下…
展开
-
题目1514:数值的整数次方
http://blog.csdn.net/SunnyYoona/article/details/14646053转载 2014-11-14 11:32:30 · 256 阅读 · 0 评论 -
题目1387:斐波那契数列
#include #include using namespace std;int main(){ long long FI[80]={0,1}; int i=2,n; for(i=2;i<=70;i++) { FI[i]= FI[i-1]+FI[i-2]; } while(~scanf("%d",&n))原创 2014-11-04 14:55:02 · 299 阅读 · 0 评论 -
题目1554:区间问题
记录前缀和 sum[i] = x[1] + x[2] + .... + x[i]查找 x[s] + x[s+1] + ....+ s[e] = k ;算法: 从小到大 固定 s ,查找e 。 => 固定s , 在sum[s+1] , sum[s+2] ,....sum[n]内查找sum[最小的e] = k+sum[s-1] 。 做映射: sum[i]转载 2014-11-21 20:57:29 · 427 阅读 · 0 评论 -
题目1515:打印1到最大的N位数
#include #include using namespace std;int count1(int x) { int cnt = 0; while(x != 0) { x = x&(x-1); cnt ++; } return cnt;} int main() { int n; while(~scan转载 2014-11-06 10:42:48 · 290 阅读 · 0 评论 -
题目1520:树的子结构
#include #include using namespace std;struct Tree{ int v; Tree *left,*right;}* Tree_A[1099],* Tree_B[1099]; int n,m;int L,R;void Build_A(Tree *thead,int num,int v){ thead->v=v;转载 2014-11-25 09:48:45 · 258 阅读 · 0 评论 -
题目1018:统计同成绩学生人数
刚看到这题,直接就想定个map不就OK了吗?于是很快有了以下代码:#include int map[111]={0};int main(){ int n; int i; int index; int score; while(scanf("%d",&n)!=EOF){ if(n==0) break;原创 2016-04-19 09:45:14 · 2446 阅读 · 0 评论 -
题目1020:最小长方形
这个就是找最大最小的(x,y),每次读入的数据比较下大小就行。#include int main(){ int x,y; int min_x=232,max_x=-232; int min_y=232,max_y=-232; while(scanf("%d %d",&x,&y)!=EOF){ if( x==0 && y==0 ) b原创 2016-04-19 10:13:48 · 201 阅读 · 0 评论 -
题目1021:统计字符
个人感觉,处理字符串时,C++比C要方便一些 #include #include using namespace std;string str1,str2;int main(){ int i,j; while(getline(cin,str1)) { if(str1[0] ==原创 2016-04-19 10:41:09 · 236 阅读 · 0 评论 -
题目1022:游船出租
#include #include int main(){ int num,hh,mm,arr[101][3],n; double time; char opt; memset(arr,0,3*101*sizeof(int)); //数组为2维数组 n=0;time=0;原创 2016-04-19 11:34:08 · 490 阅读 · 0 评论 -
题目1023:EXCEL排序
这题就定义三个比较函数想好排序顺序就好了。#include #include #include using namespace std;#define MAX 100001struct Student{ char id[7]; char name[9]; int score; };Student student[MAX];bool原创 2016-04-19 15:39:31 · 633 阅读 · 0 评论 -
题目1384:二维数组中的查找
#include int main(){ intm,n,t; inthang,lie; intflag; while(~scanf("%d %d",&m,&n)) { flag=0; scanf("%d",&t); intNum[m][n]; fo原创 2014-11-01 22:12:36 · 291 阅读 · 0 评论 -
题目1521:二叉树的镜像
#include #include #include using namespace std;int n,L,R;int first=1;int Tree_val[1010];struct Node{ int val; Node * left,* right; }* Tree[1010]; void Build(Node * head,char原创 2014-11-25 16:28:01 · 309 阅读 · 0 评论 -
题目1388:跳台阶
#include #include using namespace std;int main(){ long long FI[75]={0,1,2}; int n; for(int i=3;i<=70;i++) { FI[i]= FI[i-1]+FI[i-2]; } while(~scanf("%d",&n原创 2014-11-04 15:28:24 · 312 阅读 · 0 评论 -
题目1517:链表中倒数第k个结点
#include #include using namespace std;struct Node { int num; Node * next; }; int getK(Node * head,int k,int nn){ Node * fast,* slow ; int i; if(head->next==NULL||k==0||k>n原创 2014-11-18 14:56:05 · 233 阅读 · 0 评论 -
题目1516:调整数组顺序使奇数位于偶数前面
#include #include using namespace std;int main(){ int n,oddSize,evenSize,count; while(~scanf("%d",&n)) { int odd[n]; int even[n]; int temp; oddSize=0;原创 2014-11-18 10:21:42 · 278 阅读 · 0 评论 -
题目1511:从尾到头打印链表
题目描述: 输入一个链表,从尾到头打印链表每个节点的值。输入: 每个输入文件仅包含一组测试样例。每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。输出:原创 2014-11-02 10:31:10 · 339 阅读 · 0 评论 -
题目1512:用两个栈实现队列
#include #include #include #include using namespace std;stack s1;stack s2;int main(){ int n,length,push; string p; cin>>n; while(n--) { cin >> p; if(p == "P转载 2014-11-03 20:46:16 · 281 阅读 · 0 评论 -
题目1385:重建二叉树
#include#includeusing namespace std;int pre[1005],mid[1005];bool flag;struct Node{ int num; Node *lChild,*rChild;}; void buildTree(Node* &T,int start1,int end1,int start2,int原创 2014-11-02 15:43:46 · 326 阅读 · 0 评论 -
题目1510:替换空格
原创 2014-11-01 22:51:31 · 283 阅读 · 0 评论 -
题目1518:反转链表
#include #include #include using namespace std;struct Node { int num; Node * next ; }; void print(Node * head){ int flag=1; while(head->next) { printf("%d原创 2014-11-19 21:15:26 · 297 阅读 · 0 评论 -
题目1519:合并两个排序的链表
#include #include using namespace std; struct Node { int num; Node * next; }; Node * Merge(Node * pHead1, Node * pHead2){ if(pHead1 == NULL) return pHead2; else if原创 2014-11-19 22:47:34 · 265 阅读 · 0 评论 -
题目1386:旋转数组的最小数字
#include #include using namespace std;int main(){ int n; while(~scanf("%d",&n)) { int qian,hou; scanf("%d",&hou); if(n==1) { printf("%d\n",hou); } els原创 2014-11-03 23:30:19 · 288 阅读 · 0 评论 -
题目1522:包含min函数的栈
两个栈:(1)一个栈就是正常的对数据进栈、出栈。(2)另一个每次入栈时判断当前值与栈顶值的大小。如果当前值小,那么当前值入栈,否则栈顶对应的值入栈。 #include #include #include #include #include using namespace std;int main(){ int n,num,i,len=0;原创 2016-04-19 17:21:15 · 349 阅读 · 0 评论