今天上午进行了模拟考试,以下是一题较考验技术的题目:《sum》
#include
using namespace std;
int a[1000010],n,minn=10000000;
int main(){
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
cin>>n;
for(int i=0;i>a[i];
}
sort(a,a+n);
int i=0,j=n-1;
while(j>i){
minn=min(minn,abs(a[i]+a[j]));
if(a[i]+a[j]>0)j--;
else i++;
}
cout<<minn;
return 0;
}
别看这题短,但它非常的容易爆炸当然,指的还是内存和时间。
还有这题《flu》:
#include
using namespace std;
int main() {
freopen("flu.in","r",stdin);
freopen("flu.out","w",stdout);
char a[200][200];
memset(a,'#',sizeof(a));
int n,m,fx[5]= {1,0,-1,0},fy[5]= {0,-1,0,1};
cin>>n;
for(int i=1; ia[i][j];
}
}
cin>>m;
while(--m) {
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++) {
if(a[i][j]=='@') {
for(int k=0; k<4; k++) {
if(a[i+fx[k]][j+fy[k]]=='.') {
a[i+fx[k]][j+fy[k]]='!';
}
}
}
}
}
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++) {
if(a[i][j]=='!') {
a[i][j]='@';
}
}
}
}
int s=0;
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++) {
if(a[i][j]=='@') {
s++;
}
}
}
cout<<s;
return 0;
}
直接把我难住了,看来日后还要更加努力。