Shirlies
宁静专注认真的程序媛~
摘要: 看过别人的解题思路才做出来的,解题思路网上一大片……把这个代码贴出来,是觉得有个问题大家一定要注意,就是可能有重复的值……#include "stdio.h"#include "stdlib.h"#include "string.h"int ans[1000];int cmp(const void *a,const void *b){return (*((int *)a)-*((int *)b));}int main(){int n;int i,k,t,a,b,c;while(scanf("%d",&n)= 阅读全文
posted @ 2012-02-12 11:00 Shirlies 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 敲打代码的时候竟然忘记qsort()怎么用的了……题目大致意思就是求线段投影把x轴分成几段了,之前看过一道例题(刘汝佳编写的《算法入门经典》提到过类似的题目,有类似的思路吧),很类似……#include "stdio.h"#include "stdlib.h"#include "math.h"typedef struct point{ double start,end;}points;points p[120];int s_x,s_y;double get_x(int x,int y){ if(x==s_x) return (doub 阅读全文
posted @ 2012-02-11 20:32 Shirlies 阅读(204) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>#include <algorithm>using namespace std;int main(){int t;cin>>t;while(t--){int n,m;cin>>n>>m;char s[20];for(int i=n-1;i>=0;i--){if(n-i<=m)s[i]='1';elses[i]='0';}do{for(int i=0;i<n;i++)cout<<s[i];cout<<endl;}while(n 阅读全文
posted @ 2012-02-05 19:12 Shirlies 阅读(378) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>#include <algorithm>#include <cstring>using namespace std;int main(){int t;cin>>t;while(t--){char s[20];cin>>s;int len=strlen(s);sort(s,s+len);do{cout<<s<<endl;}while(next_permutation(s,s+len));cout<<endl;}return 0;} 阅读全文
posted @ 2012-02-05 18:45 Shirlies 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 感触:STL真好用~~~#include <iostream>#include <algorithm>#include <cstring>using namespace std;int main(){char s[60];cin>>s;while(s[0]!='#'){int len=strlen(s);if(next_permutation(s,s+len)){cout<<s<<endl;}else{cout<<"No Successor"<<endl;}cin 阅读全文
posted @ 2012-02-05 17:47 Shirlies 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 英文一大串,磨死人啊~~~题目大致是想说:找到一个P位的二进制数和给的二进制数与,得到的n个二进制数是不同的,但是呢,这个p位的二进制数1的个数要最小就是了(自己的理解)代码如下://#define LOCAL#include "stdio.h"#include "string.h"int p[150];int s[150][20];int sf[150];int differ(int *p,int m){int i,j;for(i=0;i<m;i++){for(j=i+1;j<m;j++){if(p[i]==p[j])return 0;}} 阅读全文
posted @ 2012-02-05 16:20 Shirlies 阅读(448) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>#include <string>using namespace std;int coord[120][2];int main(){int n;cin>>n;while(n){for(int i=0;i<(n<<1);i++){cin>>coord[i][0]>>coord[i][1];}for(int i=-500;i<=500;i++)//在vc6中这样定义i是错的,然而在DEV c++和GCC中还必须得这样,否则在uva上提交会编译错误{int re=1;for(in 阅读全文
posted @ 2012-02-05 10:00 Shirlies 阅读(360) 评论(0) 推荐(0) 编辑
摘要: #include "stdio.h"#include "stdlib.h"typedef struct nodes{char ch;struct nodes *child[4];}node;char s1[10000];int sum;int pos;node* newnode(){node* t=(node *)malloc(sizeof(node));if(t!=NULL){t->child[0]=t->child[1]=t->child[2]=t->child[3]=NULL;}return t;}void build(no 阅读全文
posted @ 2012-02-04 13:06 Shirlies 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 晕,这一题我竟然修改了很长时间,汗,关键在自己对字符串处理好像还是不是很熟练#include "stdio.h"#include "math.h"int main(){int n;char ch;char c[300],target[10],re[1000];int count=1;int m,s,i,j;scanf("%d",&n);while(n){getchar();//注意啊!while((ch=getchar())!='\n');fgets(c,sizeof(c),stdin);scanf(" 阅读全文
posted @ 2012-02-03 18:15 Shirlies 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 二叉树的基本题型,不过对于我来说还是有点考验的……#include "stdio.h"int inorder[10005];int postorder[10005];int sum;int min1,min2;int find(int a,int *p,int n){int i;for(i=n-1;i>=0;i--)if(p[i]==a)return i;return 0;}void tree_min_node(int n,int *d1,int *d2,int sum){int k;if(n<=0) return;k=find(d1[n-1],d2,n);su 阅读全文
posted @ 2012-02-03 12:05 Shirlies 阅读(653) 评论(0) 推荐(0) 编辑