#include<bits/stdc++.h>usingnamespace std;constint maxn =510;
vector<int> edge[maxn];bool book[maxn]={false};voiddfs(int u){
book[u]=true;for(int i =0; i < edge[u].size(); i++){if(!book[edge[u][i]])dfs(edge[u][i]);}}intmain(){int n, m, u, v;scanf("%d %d",&n,&m);for(int i =0; i < m; i++){scanf("%d %d",&u,&v);
u++, v++;
edge[u].push_back(v);
edge[v].push_back(u);}int k, city, cnt =0;for(int i =1; i <= n; i++){if(book[i]==false&&!edge[i].empty()){dfs(i);
cnt++;}}scanf("%d",&k);for(int j =0; j < k; j++){scanf("%d",&city);
city++;int tmp =0;bool flag =false;memset(book,false,sizeof(book));
edge[city].clear();for(int i =1; i <= n; i++){if(book[i]==false&&!edge[i].empty()){dfs(i);
tmp++;}}if(tmp > cnt)printf("Red Alert: City %d is lost!\n", city -1);elseprintf("City %d is lost.\n", city -1);
cnt = tmp;}if(k == n)printf("Game Over.\n");return0;}
#include<bits/stdc++.h>usingnamespace std;constint N =505;int G[N][N];bool vis[N];int n, m;voiddfs(int u){
vis[u]=true;for(int i =0; i < n; i++){if(G[u][i]==1&&!vis[i])dfs(i);}}intmain(){
cin>>n>>m;int u, v;while(m--){
cin>>u>>v;
G[u][v]=1;
G[v][u]=1;}int k, x;
cin>>k;int pre =0;memset(vis,false,sizeof vis);for(int i =0; i < n; i++){if(!vis[i]){dfs(i);
pre++;}}
vector<int> st;for(int i =0; i < k; i++){memset(vis,false,sizeof vis);int cnt =0;
cin>>x;
st.push_back(x);//把失去的城市先标记成访问过的 for(auto it: st) vis[it]=true;for(int i =0; i < n; i++){if(!vis[i]){dfs(i);
cnt++;}}if(cnt > pre)printf("Red Alert: City %d is lost!\n", x);elseprintf("City %d is lost.\n", x);
pre = cnt;if(i == n -1)printf("Game Over.");}return0;}
#include<bits/stdc++.h>usingnamespace std;intmain(){int n,t;
cin>>n;
set<int> s;for(int i =0; i<n; i++){
cin>>t;
set<int>::iterator it = s.lower_bound(t);if(it!=s.end()){
s.insert(t);
s.erase(*it);//或者s.erase(it)也行}else s.insert(t);}
cout<<s.size();}
#include<iostream>#include<cstdio>#include<algorithm>usingnamespace std;boolcmp(float x,float y){if(x > y)returntrue;returnfalse;}intmain(){int N, K, M;
cin >> N >> K >> M;float* students =newfloat[N];for(int i =0; i < N; i++){float max =-1,min=101;float sum =0;for(int j =0; j < K; j++){int grade;
cin >> grade;
sum += grade;if(max < grade)
max = grade;if(min > grade)
min = grade;}
sum = sum - max - min;
sum = sum /(K -2);
students[i]= sum;}sort(students, students + N,cmp);printf("%.3f", students[M -1]);for(int i =1; i < M; i++){printf(" %.3f", students[M-i-1]);}
cout << endl;delete[]students;return0;}