记录每一时刻蚂蚁的状态,较简单的一题。
#include <cstdio>
#include <cmath>
#include <iostream>
using namespace std;
struct T{
bool ill;
int pos;
};
T ant[100];
int size = 0;
int main(){
int n,t;
int ans = 0;
cin>>n;
int total = n;
size =n;
for(int i=0;i<n;i++){
cin>>t;
ant[i].pos = t;
if(i==0) ant[i].ill = true;
else ant[i].ill = false;
}
while(total){
for(int i=0;i<size;i++){
if(ant[i].pos>0) ant[i].pos++;
else ant[i].pos++;
if(abs(ant[i].pos)<0 || abs(ant[i].pos)>100) total--;
}
for(int i=0;i<size;i++){
for(int j=i+1;j<size;j++){
if(abs(ant[j].pos)==abs(ant[i].pos)){
if(ant[i].ill||ant[j].ill){
ant[i].ill=true;
ant[j].ill=true;
}
ant[j].pos=-ant[j].pos;
ant[i].pos=-ant[i].pos;
}
}
}
}
for(int i=0;i<size;i++){
if(ant[i].ill) ans++;
}
cout<<ans<<endl;
return 0;
}