ACM_Plants vs. Zombies

Plants vs. Zombies

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

There is a zombie on your lawn,There is a zombie on your lawn,There are many zombies on your lawn,So can you defeat them?You have many plants that can kill the zombie in a hit and your plants can kill all zombies on their straight shooting path.

Input:

The input consists of several cases.The first line are two positive integer n,m,indicating the number of plants and zombies.Then the next n lines show the line (ax+by+c==0) of plants in the form of (a,b,c),Then the last lines show the positions of zombies in the form of (xi,yi).All input data is a 32-bit integer.

Output:

Print "duang" if you can kill all zombies,else print "eat your brain".

Sample Input:

2 2
1 1 1
1 2 3
1 -2 -1 0

Sample Output:

duang
解题思路:简单判断m个坐标是否都满足n个方程ax+by+c==0中的任意一个,如果都满足,则输出"duang",否则输出"eat your brain",水过!
AC代码:
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int maxn = 1e6+5;//开大一点
 4 int n,m,num,x,y,a[maxn],b[maxn],c[maxn];
 5 int main(){
 6     while(~scanf("%d%d",&n,&m)){
 7         for(int i=0;i<n;++i)scanf("%d%d%d",&a[i],&b[i],&c[i]);
 8         num=0;
 9         for(int j=0;j<m;++j){
10             scanf("%d%d",&x,&y);
11             for(int i=0;i<n;++i)
12                 if(a[i]*x+b[i]*y+c[i]==0){num++;break;}
13         }
14         if(num!=m)printf("eat your brain\n");
15         else printf("duang\n");
16     }
17     return 0;
18 }

猜你喜欢

转载自www.cnblogs.com/acgoto/p/9297631.html