P2074 危险区域

1.题目如下:

 

 思路:

1.以前遇到过,不过用了数组,结果可想而知

2.其实可以不用数组,毕竟只统计一次最差的结果。

炸弹炸得范围是圆形,我们可以用枚举,将它转化为正方形

3.注意那个n,m;当我们不知道何去何从,直接看样例!!!

代码:

#include<cstdio> 
#include<cmath> 
#include<iostream>
using namespace std;
main(){
    int n,m,k,t;
    int sum=0;
    cin>>n>>m>>k>>t;
    int x,y;
    int maxn=0;
    while(k--) {
        cin>>x>>y;
        for(int i=max(1,x-t);i<=min(n,x+t);i++)
            for(int j=max(1,y-t);j<=min(m,y+t);j++)
            {
            if(sqrt((x-i)*(x-i)+(y-j)*(y-j))<=t)
            sum++;
                }
           maxn=max(maxn,sum);
            sum=0;
    }
    cout<<maxn<<endl;
    return 0;
}
无聊就学习 反正没事干
原文地址:https://www.cnblogs.com/miao-xixixi/p/13923216.html