A. Buying A House
暴力一下就行
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF=0x3f3f3f3f;
const int inf=-0x3f3f3f3f;
const int maxn=1e3+5;
int a[maxn];
int n,m,k;
int main(){
cin>>n>>m>>k;
for(int i=1;i<=n;++i){
cin>>a[i];
}
int res=INF;
for(int i=m+1;i<=n;++i){
if(a[i]!=0&&a[i]<=k){
res=min(res,(i-m)*10);
break;
}
}
for(int i=m-1;i>=1;--i){
if(a[i]!=0&&a[i]<=k){
res=min(res,(m-i)*10);
}
}
cout<<res<<endl;
return 0;
}
B. Find The Bone
模拟题,本题用cin有TLE的风险,跑了1996ms,而用scanf只跑了300ms+,怕了。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF=0x3f3f3f3f;
const int inf=-0x3f3f3f3f;
const int maxn=2e6+5;
bool h[maxn];
int n,m,k,xx;
int main() {
scanf("%d%d%d",&n,&m,&k);
memset(h,false,sizeof(h));
for(int i=1; i<=m; ++i) {
scanf("%d",&xx);
h[xx]=true;
}
int x,y;
bool ff=false;
int res=1;
if(h[1]) ff=true;
for(int i=1; i<=k; ++i) {
scanf("%d%d",&x,&y);
if(ff) continue;
if(x!=res&&y==res) {
res=x;
} else if(y!=res&&x==res) {
res=y;
}
if(h[res]) {
ff=true;
}
}
cout<<res<<endl;
return 0;
}
C,D 单独写一下
C. Bank Hacking
https://blog.youkuaiyun.com/TDD_Master/article/details/84947002
D.Police Stations
https://blog.youkuaiyun.com/TDD_Master/article/details/84949779