【水】UVA10167birthday cake
来源:互联网 发布:淘宝上有没有微信号卖 编辑:程序博客网 时间:2024/05/29 19:56
1.两份代码
#include<stdio.h>int a[200];int b[200];int judge(int x,int y,int c){ int count1=0,count2=0; for(int i=0;i<2*c;i++) if(x*a[i]+y*b[i]==0) return 0; else if(x*a[i]+y*b[i]>0) count1++; else if(x*a[i]+y*b[i]<0) count2++; if(count1==count2) return 1; else return 0;}int main(){ int n; while(scanf("%d",&n)!=EOF) { if(!n) break; int ok=1; for(int i=0;i<2*n;i++) scanf("%d%d",&a[i],&b[i]); int A,B; for(A=-500;A<=500&&ok==1;A++) for(B=-500;B<=500;B++) { if(judge(A,B,n)==1) {ok=0;break;} } printf("%d %d\n",A,B); } return 0;}
这份代码错在上面那两个for循环那,Body执行完了之后,A++还会执行的。
2.
正确代码,利用了goto语句呃....
#include<stdio.h>int a[200];int b[200];int judge(int x,int y,int c){ int count1=0,count2=0; for(int i=0;i<2*c;i++) if(x*a[i]+y*b[i]==0) return 0; else if(x*a[i]+y*b[i]>0) count1++; else if(x*a[i]+y*b[i]<0) count2++; if(count1==count2) return 1; else return 0;}int main(){ int n; begin: while(scanf("%d",&n)!=EOF) { if(!n) break; int ok=1; for(int i=0;i<2*n;i++) scanf("%d%d",&a[i],&b[i]); int A,B; for(A=-500;A<=500;A++) for(B=-500;B<=500;B++) { if(judge(A,B,n)==1) { printf("%d %d\n",A,B);goto begin;} } printf("%d %d\n",A,B); } return 0;}
- 【水】UVA10167birthday cake
- uva10167Birthday Cake
- uva10167Birthday Cake
- UVA10167Birthday Cake
- cake
- Cake
- Cake
- Cake
- Cake
- Cake
- Cake
- Cake
- cake
- Cake
- Cake
- Cake
- Cake
- Cake
- 对于Mysql数据库导入SQL文件出现乱码问题的解决
- od命令
- 多线程编程技术在android系统中的应用,学习多线程不可多得的技术资料
- plsql developer 使用技巧设置
- android电子书
- 【水】UVA10167birthday cake
- 柔性数组
- android 基础知识 七
- Silverlight如何支持多语言
- OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解
- sqlload的用法
- Android中自定义seekbar样式
- 检测笔记本电脑的主板,cpu,硬盘的温度
- MFC.UI线程问题