某神的代码:

#include<stdio.h>
#define max(x,y) (x)>(y)?(x):(y)
#define min(x,y) (x)<(y)?(x):(y)
const int inf=0x7fffffff;struct node      // Fruit
{int adv;int x[11],y[11];
}Fruit[11];int Fruit_num,ans;//----
int  judge( int x1,int y1,int x2,int y2,int x,int y )
{return ( ( x1-x )*( y2-y ) - ( x2-x )*( y1-y ) );
}
bool on_megment( int x1,int y1,int x2,int y2,int x3,int y3 )
{int t1=x1-x3;int t2=y1-y3;int t3=x1-x2;int t4=y1-y2;if( ( t1*t4-t2*t3 )==0 )return true;else return false;
}
bool megment( int x1,int y1,int x2,int y2,int p1,int q1,int p2,int q2 )
{if( on_megment( p1,q1,p2,q2,x1,y1 )|| on_megment( p1,q1,p2,q2,x2,y2 ) )return true;int d1=judge( p1,q1,p2,q2,x1,y1 );int d2=judge( p1,q1,p2,q2,x2,y2 );if( d1*d2<0 )  return true;return false;
}//---/*
bool megment1( int p1,int q1,int p2,int q2, int x1,int y1,int x2,int y2 )
{if ( x1 != x2 ) // k exsit{double a =  (y1-y2)/(x1-x2);double b =  y1;if( a*p1+b < q1 && a*p2+b < q2 || a*p1+b > q1 && a*p2+b > q2 )   return false;return true;  }     else{if( p1 > x1 && p2 > x2 || p1 < x1 && p2 < x2)    return false;return true;}
}*/
void getFruit()
{for(int i = 1; i <= Fruit_num; ++i ){scanf("%d",&(Fruit[i].adv) );   for(int j = 1; j <= Fruit[i].adv; ++j ){scanf("%d%d",&(Fruit[i].x[j]),&(Fruit[i].y[j]));     }     }
}void Search()
{for(int i = 1; i <= Fruit_num; ++i )                     // 选取任意两个水果         for( int j = i+1; j <= Fruit_num; ++j ){for(int a = 1; a <= Fruit[i].adv; ++a )           //第一个水果顶点{   for(int b = 1; b <= Fruit[j].adv; ++b )       //第二个水果顶点  作为直线 {int x1 = Fruit[i].x[a], y1 = Fruit[i].y[a];int x2 = Fruit[j].x[b], y2 = Fruit[j].y[b]; int cut_num = 2;for( int c = 1; c <= Fruit_num; ++c )    //对剩余的水果进行枚举比较 {if( c == i || c == j ) continue;    bool flag = false;int d;for( d = 1; d < Fruit[c].adv; ++d )//选取相邻两顶点                        {if(flag) continue;if( megment(Fruit[c].x[d],Fruit[c].y[d],Fruit[c].x[d+1],Fruit[c].y[d+1] ,x1,y1,x2,y2 )  )flag = true;   }if( megment(Fruit[c].x[d],Fruit[c].y[d],Fruit[c].x[1],Fruit[c].y[1],x1,y1,x2,y2 ) )flag = true;  if(flag) cut_num++;}ans = max(ans,cut_num);}}}
}int main()
{int t, Case = 1;scanf("%d",&t);while(t--){scanf("%d",&Fruit_num);  getFruit();          //Input the Fruit.ans = 0;Search();            //Search the Max numbers of Fruit.if( Fruit_num == 1 ) printf("Case %d: %d\n",Case++,1);elseprintf("Case %d: %d\n",Case++,ans);}    return 0;
}

转载于:https://www.cnblogs.com/tclh123/archive/2011/08/18/2587078.html

2011阿里巴巴程序设计公开赛 / 1002 Fruit Ninja相关推荐

  1. 2011阿里巴巴程序设计公开赛 总结(by胡浩)

    2011阿里巴巴程序设计公开赛 总结2011-08-18 16:58 | (分类:默认分类) 暑假开始,lcy老师叫我准备出套题,我盘算着在退役之前来场华丽的专场,想也没想就答应了 不过一个人出题压力 ...

  2. 2011 阿里巴巴程序公开赛

    2011阿里巴巴程序设计公开赛 总结来源: 胡浩的日志 暑假开始,lcy老师叫我准备出套题,我盘算着在退役之前来场华丽的专场,想也没想就答应了 不过一个人出题压力真大啊....难易程度,各种题型,都要 ...

  3. [2012山东ACM省赛] Fruit Ninja II (三重积分,椭球体积)

    Fruit Ninja II Time Limit: 5000MS Memory limit: 65536K 题目描述 Have you ever played a popular game name ...

  4. Sdut 2416 Fruit Ninja II(山东省第三届ACM省赛 J 题)(解析几何)

    Time Limit: 5000MS Memory limit: 65536K 题目描写叙述 Haveyou ever played a popular game named "Fruit ...

  5. 2018ACM上海大都会赛: A. Fruit Ninja(这绝对是道原题+随机)

    题目描述 Fruit Ninja is a juicy action game enjoyed by millions of players around the world, with squish ...

  6. Fruit Ninja(水果忍者)游戏源代码下载、分析(中)---可运行Android,Ios,Window,Mac,Html5平台

    背景: 上一篇,已经实现了水果不断向上抛的效果和开始界面,这一篇我们将分析如何切水果,获得分数:运行demo需要配置好CocosEditor,暂不支持其他工具.demo是跨平台的,可移植运行andro ...

  7. Cocos2D实现Fruit Ninja里面刀光效果教程

    Cocos2D实现Fruit Ninja里面刀光效果教程 2011-08-16 17:13 佚名 CocoaChina 我要评论(1) 字号:T | T Cocos2D实现Fruit Ninja里面刀 ...

  8. 另一种实现 Fruit Ninja 里刀光效果的方法

    Fruit Ninja 这款游戏在 iOS 平台上取得了巨大成功,尤其是手指划过屏幕时的刀锋特效大大提升了情节相对简单的切水果游戏的视觉体验和整体印象.我们此前介绍了一种实现 Fruit Ninja ...

  9. Fruit Ninja

    Fruit Ninja 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 3 描述 Fruit Ninja is a popular classic game. During ...

最新文章

  1. fastjson将json字符串转为Map对象,拿走不谢
  2. 最佳实践: 勿在 Servlet 中实现 SingleThreadModel
  3. 由巨型计算机到微型计算机,微机原理第一章节:基础知识.ppt
  4. CG CTF WEB 密码重置
  5. 数据库增删改查性能对比
  6. 数据结构与算法之二叉搜索树
  7. Dynamic Performance Tables not accessible,Automatic Statistics...
  8. 曾有望成为第三大移动系统:如今正式告别,明日停止一切支持
  9. Android开发学习
  10. CenterPoint的环境配置error大全【已全部解决】
  11. Carry On My Wayward Son -- Kansas
  12. 了解了广告行业利益相关方,横扫一切商业模式
  13. 虫虫 HTML5::初学者使用 Application Cache 指南
  14. Can‘t locate XXX/XXX.pm in @INC (you may need to install the XXX::XXX module)
  15. python idle界面_3.7 IDLE 用户界面
  16. java 数据倒叙_Java 数组,如何通过自定义实现倒叙排序?
  17. python普通类实现接口_python3从零学习-5.8.1、socket—底层网络接口
  18. 74ls163是同步清零吗_74LS163是具有同步清零功能的十六进制计数器,要
  19. 计算机代码画玫瑰,如何用代码画一朵玫瑰花
  20. 【小家Spring】注意BeanPostProcessor启动时对依赖Bean的“误伤”陷阱(is not eligible for getting processed by all...)

热门文章

  1. 【剑指offer】_01 (二维数组中的查找)
  2. u-boot中filesize环境变量
  3. 万字总结!java让字符串反转
  4. Java面试题2020,单击更改以将java安装到其他文件夹
  5. CSS的三种定位,成功入职字节跳动
  6. shutil模块、json和pickle模块
  7. es6解决回调地狱问题
  8. (2.1)DDL增强功能-数据类型、同义词、分区表
  9. 常见问题及解决方案(前端篇)
  10. [BZOJ1626][Usaco2007 Dec]Building Roads 修建道路