倒计时81天

倒计时82天-CSDN博客

蓝桥杯2022年第十三届省赛真题-扫雷 - C语言网 (dotcpp.com)

1)

#include 
using namespace std;
#define int long long
const int inf = 0x3f3f3f3f;
const int N = 1e5+5;
struct node{
    int x,y,r;
}No1[N],No2[N];
int vis[N];
void solve()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
	    cin>>No1[i].x>>No1[i].y>>No1[i].r;//雷
	}
	for(int i=1;i<=m;i++)
	{
	    cin>>No2[i].x>>No2[i].y>>No2[i].r;//火箭
	}
	int l=0,r=m,t=0;
	//超时了(80/100)
	/*
	for(int i=1;i<=r;i++)//火箭
	{
	    for(int j=1;j<=n;j++)//雷
	    {
	        if(vis[j]==0&&(No2[i].x-No1[j].x)*(No2[i].x-No1[j].x)+(No2[i].y-No1[j].y)*(No2[i].y-No1[j].y)<=No2[i].r*No2[i].r)
	        {
	            vis[j]=1;
	            No2[++r]=No1[j];
	            t++;
	        }
	    }
	}
	*/
   //还超时/‘’:、?但多了5‘
	while(++l<=r)
	{
	    for(int j=1;j<=n;j++)
	    {
	        if(vis[j]==0&&(No2[l].x-No1[j].x)*(No2[l].x-No1[j].x)+(No2[l].y-No1[j].y)*(No2[l].y-No1[j].y)<=No2[l].r*No2[l].r)
	        {
	            vis[j]=1;
	            No2[++r]=No1[j];
	            t++;
	        }
	    }
	}
	cout<

2)

时间超限了(92/100)晕(((φ(◎ロ◎;)φ)))

/***
 *
 *
 *                                                    __----~~~~~~~~~~~------___
 *                                   .  .   ~~//====......          __--~ ~~
 *                   -.            \_|//     |||\\  ~~~~~~::::... /~
 *                ___-==_       _-~o~  \/    |||  \\            _/~~-
 *        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
 *    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
 *  .~       .~       |   \\ -_    /  /-   /   ||      \   /
 * /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
 * |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
 *          '         ~-|      /|    |-~\~~       __--~~
 *                      |-~~-_/ |    |   ~\_   _-~            /\
 *                           /  \     \__   \/~                \__
 *                       _--~ _/ | .-~~____--~-/                  ~~==.
 *                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
 *                                 -_     ~\      ~~---l__i__i__i--~~_/
 *                                 _-~-__   ~)  \--______________--~~
 *                               //.-~~~-~_--~- |-------~~~~~~~~
 *                                      //.-~~~--\
 *                               神兽保佑
 *                              代码无BUG!
 */
 /*
 标准键盘布局
┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
│Esc│   │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │P/S│S L│P/B│  ┌┐    ┌┐    ┌┐
└───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘  └┘    └┘    └┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
│~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BacSp │ │Ins│Hom│PUp│ │N L│ / │ * │ - │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
│ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ | \ │ │Del│End│PDn│ │ 7 │ 8 │ 9 │   │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
│ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter  │               │ 4 │ 5 │ 6 │   │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤
│ Shift  │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│  Shift   │     │ ↑ │     │ 1 │ 2 │ 3 │   │
├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││
│ Ctrl│    │Alt │         Space         │ Alt│    │    │Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │←─┘│
└─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
*/
#include
using namespace std;
const int N=1e5+5;
const int inf=0x3f3f3f3f;
#define int long long
struct node{
    int x,y,r;
}a[N];
int mp(int x1,int y1,int x2,int y2,int r)
{
    if((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)<=r*r)return 1;
    return 0;
}
void solve()
{
    queuequ;
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)cin>>a[i].x>>a[i].y>>a[i].r;//炸雷
	for(int i=1;i<=m;i++)//火箭
	{
	    int tx,ty,tr;
	    cin>>tx>>ty>>tr;
	    qu.push({tx,ty,tr});
	}
	int cn=0;
	while(qu.size())
	{
	    auto p=qu.front();
	    int dx=p.x,dy=p.y,dr=p.r;
	    qu.pop();
	    for(int i=1;i<=n;i++)
	    {
	        if(a[i].x!=-1&&mp(a[i].x,a[i].y,dx,dy,dr))
	        {
	            qu.push({a[i].x,a[i].y,a[i].r});
	            a[i].x=-1;
	            cn++;
	        }
	    }
	}
	cout<

3)。。。。。。。。。。。。。。待续。。。。。。。。。。。。。。。。。。。。。。。。。

你可能感兴趣的:(c++)