2012年8月8日

NYOJ 144 小珂的苦恼

摘要: 存在整数x和y使得二元一次方程 a*x+b*y=n有解,则n为a,b的最大公约数的整数倍即可,至于为啥,正在研究,应该是数论里的知识。。。。。 1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 long int a,b,n,a1,b1,t,m,r; 6 scanf("%ld",&m); 7 while(m--) 8 { 9 scanf("%ld%ld%ld",&a,&b,&n);10 a1=a;b1=b;11 if(a1<b 阅读全文

posted @ 2012-08-08 21:04 mycapple 阅读(288) 评论(0) 推荐(0) 编辑

NYOJ 67 三角形面积

摘要: 1 //三角形面积用到海伦公式:p=(a+b+c)/2; 2 //s=sqrt(p*(p-a)(p-b)(p-c)) 3 #include<stdio.h> 4 #include<math.h> 5 #include<stdlib.h> 6 int main() 7 { 8 double x1,x2,y1,y2,x3,y3; 9 double a,b,c,p,s;10 while(~scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3))11 阅读全文

posted @ 2012-08-08 20:06 mycapple 阅读(340) 评论(0) 推荐(0) 编辑

NYOJ 199 无线网络覆盖

摘要: 思路:将其看成一个一个正方形块,边长为k 。n=l/k。当l/k>(int)(l/k)时即属于长多出一点,这时为了全部覆盖,就还需要一个路由器,你懂的 1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int N,l,d,r,n; 6 double k; 7 scanf("%d",&N); 8 while(N--) 9 {10 scanf("%d%d%d",&l,&d,&r);11 k=sqrt((double)r*r-(dou 阅读全文

posted @ 2012-08-08 18:28 mycapple 阅读(278) 评论(0) 推荐(0) 编辑

NYOJ 286 动物统计

摘要: 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=286简单的字符串统计,不多说,直接水过。 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 char a[10010][11],b[10010];//数组a用以存贮字符串,数组b用以计次数 5 int main() 6 { 7 int n,i,j; 8 scanf("%d",&n); 9 for(i=0;i<n;i++)10 {11 sca 阅读全文

posted @ 2012-08-08 16:46 mycapple 阅读(199) 评论(0) 推荐(0) 编辑

NYOJ 278 排队

摘要: 约瑟夫环问题: 1 #include <stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int m,x,i,s,n; 6 scanf("%d",&n); 7 while(n--) 8 { 9 while(~scanf("%d%d",&m,&x))10 { s=0;11 for (i=2;i<=m;i++) s=(s+x)%i;12 printf ("%d\n", s+1);13 }14 }15 system... 阅读全文

posted @ 2012-08-08 15:53 mycapple 阅读(351) 评论(1) 推荐(1) 编辑

NYOJ 277 车牌号

摘要: 总结:这道题刚才是错了,我用了一维数组,不能编译,后来发现自己好傻,str[1010],只是存贮的有m个车牌号,即编号。而没有存字符串,所以要用一个二维数组,即str[1010][6];来存贮,当最后if(strcmp(str[i],str[0])<0),strcpy(str[0],str[i]);比较完后输出的是str编号后的字符串 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 int main() 5 { 6 int n,m,i; 7 char str[1010][6 阅读全文

posted @ 2012-08-08 15:37 mycapple 阅读(661) 评论(0) 推荐(0) 编辑

NYOJ 275 队花的烦恼一

摘要: 1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int i,j; 6 long long n; 7 int a[100]; 8 while(scanf("%lld",&n)!=EOF) 9 {10 i=0;11 if(n==0) puts("0");12 else{13 while(n)14 {15 a[i++]=n%2;16 n/=2;17 ... 阅读全文

posted @ 2012-08-08 12:09 mycapple 阅读(241) 评论(0) 推荐(0) 编辑

NYOJ 268 荷兰国旗问题

摘要: 总结:怎么又是这种情况,定义的数组太大?放到函数里出错?不会吧,没有那么大吧? 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 char ch[110];//定义在函数内就出错了,难道又越栈了? 5 int main() 6 { 7 int n,R,W,B,i,len; 8 scanf("%d%*c",&n);//由于要输入字符串,所以要考虑到enter 9 while(n--)10 {11 gets(ch);12 len=strlen(ch)... 阅读全文

posted @ 2012-08-08 11:11 mycapple 阅读(275) 评论(0) 推荐(0) 编辑

cin、cin.get()、cin.getline()、getline()、gets()等函数的用法

摘要: 学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)转载请保留作者信息;1、cin1、cin.get()2、cin.getline()3、getline()4、gets()5、getchar()1、cin>>用法1:最基本,也是最常用的用法,输入一个数字:#includeusing namespace std;main (){int a,b;cin>>a>>b;cout<<a+b<<endl;}输入:2[回车]3[回车] 阅读全文

posted @ 2012-08-08 10:43 mycapple 阅读(214) 评论(0) 推荐(0) 编辑

NYOJ 261 玩转矩阵的C小加

摘要: 1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int N,i,j; 6 int a[3][3]; 7 scanf("%d",&N); 8 while(N--) 9 {10 for(i=0;i<3;i++)11 for(j=0;j<3;j++)12 scanf("%d",&a[i][j]);13 for(i=0;i<3;i++)14 {15 for(j=0;j<3;j++)16 ... 阅读全文

posted @ 2012-08-08 09:47 mycapple 阅读(189) 评论(0) 推荐(0) 编辑

NYOJ 256 C小加 之 级数求和

摘要: 遇到分数时不要定义为int型,因为1/2,1/3=0,要定义为float型或者double型 1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int n,k,i; 6 double s,t; 7 scanf("%d",&n); 8 while(n--) 9 {10 s=0;11 scanf("%d",&k);12 for(i=1;;i++)13 {14 t=1.0/i;15 ... 阅读全文

posted @ 2012-08-08 09:46 mycapple 阅读(243) 评论(0) 推荐(0) 编辑

NYOJ 255 C小加 之 随机数

摘要: 总结:遇到“去重”与“排序”的问题,记住要先排序,然后再去重,因为排完序之后,重复的肯定在一起,只需a[i]!=a[i-1],把a[1]输出即可。排序可以用qsort,也可用冒泡排序,两个for循环。刚开始一直wa,后来终于发现自己犯了一个低级错误,我把count=0;定义在了while(t--)上面,这样的话导致我进行下一组测试时count不能从0开始,受伤一次的影响,太傻了,谨记,当遇到要进行多组测试数据时,计数的变量在每次进行新数据时要清零,方法就是把它放到while或者for循环里 1 #include<stdio.h> 2 #include<stdlib.h> 阅读全文

posted @ 2012-08-08 09:14 mycapple 阅读(315) 评论(0) 推荐(0) 编辑

NYOJ 48 小明的调查作业

摘要: 1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int n,i,j,t,count=0; 6 int a[1010]; 7 scanf("%d",&n); 8 for(i=0;i<n;i++) 9 scanf("%d",a+i);10 for(i=0;i<=n-1;i++)11 {12 for(j=i+1;j<=n-1;j++)13 if(a[i]>a[j])14 {t=a[i];a[i]=a[j];a[j]=t;}1... 阅读全文

posted @ 2012-08-08 08:31 mycapple 阅读(174) 评论(0) 推荐(0) 编辑

斐波那契数列

摘要: 题目1:写一个函数,输入n,其斐波那契数列的第n项。斐波那契数列的定义如下:方法1:使用递归解,时间复杂度是n的指数级别斐波那契数列的定义就是递归的,我们根据定义可以很简单的写出代码。代码如下: 2 3 #include<iostream> 4 #include<stdlib.h> 5 using namespace std; 6 7 //f(n)={0,1,1,2,3...} n>=0 8 9 int Fibonacci(int n)10 {11 if(n<=0)12 return 0;13 if(n==1)14 return 1;15 ... 阅读全文

posted @ 2012-08-08 08:17 mycapple 阅读(2979) 评论(0) 推荐(0) 编辑

NYOJ 252 01串

摘要: 地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=252总结:与斐波那契差不多,动态规划主要玩的就是递归。 1 //与斐波那契差不多,动态规划主要玩的就是递归 2 #include<stdio.h> 3 #include<stdlib.h> 4 int main() 5 { 6 int n,m,i,a[42]; 7 scanf("%d",&n); 8 a[2]=3;a[3]=5; 9 for(i=4;i<42;i++)10 a[i]=a[i-1]+a[i-2];//利用 斐波那契公式 阅读全文

posted @ 2012-08-08 08:00 mycapple 阅读(271) 评论(0) 推荐(0) 编辑

斐波那契数列算法分析

摘要: 斐波那契数列算法分析背景:假定你有一雄一雌一对刚出生的兔子,它们在长到一个月大小时开始交配,在第二月结束时,雌兔子产下另一对兔子,过了一个月后它们也开始繁殖,如此这般持续下去。每只雌兔在开始繁殖时每月都产下一对兔子,假定没有兔子死亡,在一年后总共会有多少对兔子?在一月底,最初的一对兔子交配,但是还只有1对兔子;在二月底,雌兔产下一对兔子,共有2对兔子;在三月底,最老的雌兔产下第二对兔子,共有3对兔子;在四月底,最老的雌兔产下第三对兔子,两个月前生的雌兔产下一对兔子,共有5对兔子;……如此这般计算下去,兔子对数分别是:1, 1, 2, 3, 5, 8, 13, 21, 34, 55,89, 14 阅读全文

posted @ 2012-08-08 07:48 mycapple 阅读(283) 评论(0) 推荐(0) 编辑

导航