看到说是DP才去试试的= =,看了别人的题解,以为很复杂,,,虽然自己怎么想都感觉没这么难………………
然后今天终于可以敲代码了………………
1A 哪里有DP QAQ,心塞塞…
按贪心,每次降序挑选。
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
#define maxn 2000
int vis[maxn],a[maxn];
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int i,j,k;
int sum=0;
memset(vis,0,sizeof(vis));
for(i=0;i<n;i++) scanf("%d",&a[i]);
while(1)
{
i=0;
int flag=0;
while(vis[i]&&i<n) i++;
if(i==n) break;
int ini=i;
int cmp=a[i];
vis[i]=1;
for(i=i+1;i!=ini&&i<n;i++)
{
//if(i>=n) i%=n;
if(vis[i]) continue;
if(a[i]<cmp) cmp=a[i],vis[i]=1;
}
sum++;
}
printf("%d\n",sum);
}
return 0;
}