倒计时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)。。。。。。。。。。。。。。待续。。。。。。。。。。。。。。。。。。。。。。。。。