5 条题解
-
0
#include<bits/stdc++.h> using namespace std; struct Cow{ int x,y,p; }; int main() { int N; cin>>N; vectorcows(N); for (int i=0;i<N;++i) { cin>>cows[i].x>>cows[i].y>>cows[i].p; } vector<vector>adj(N); for(int i=0;i<N;++i){ for(int j=0;j<N;++j){ if(i==j){ continue; } long long dx=cows[i].x-cows[j].x; long long dy=cows[i].y-cows[j].y; long long distance_squared=dxdx+dydy; long long p_squared=(long long)cows[i].p*cows[i].p; if(p_squared>=distance_squared){ adj[i].push_back(j); } } } int max_reach=0; for(int start=0;start<N;++start){ vectorvisited(N,false); queueq; q.push(start); visited[start]=true; int count=0; while(!q.empty()) { int u=q.front(); q.pop(); count++; for(int v:adj[u]){ if(!visited[v]){ visited[v]=true; q.push(v); } } } if(count>max_reach){ max_reach=count; } } cout<<max_reach<<endl; return 0; }very eazy!!! 阿玛特啦斯!!!
-
-1
#include<bits/stdc++.h> using namespace std; int n; double sq(double a,double a1,double b,double b1){ return sqrt(pow(a-a1,2)+pow(b-b1,2)); } struct edge{ double x,y,z; }e[40005]; int main(){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ yan[i][j]=sq(e[i].x,e[j].x,e[i].y,e[j].y)<=e[i].z; } } for(int k=1;k<=n;k++){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(yan[i][j]==0){ yan[i][j]=yan[i][k]&&yan[k][j]; } } } } 重要部分留了
- 1
信息
- ID
- 2753
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 34
- 已通过
- 7
- 上传者