poj1068
1402 단어 알고리즘
코드 는 다음 과 같 습 니 다:
// +
public class Main_1068
{
static int n;
static int[] p=new int[21];
static int[] w=new int[21];
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
int k=in.nextInt();
while(k-->0)
{
n=in.nextInt();
for(int i=1;i<=n;i++)
{
p[i]=in.nextInt();
}
solve();
}
}
static int[] s=new int[10000];//s[i]=0: i ,s[i]=1 i
static int cnt=0;
static void solve()
{
// p
for(int i=1;i<=n;i++)
{
for(int j=1;j<=p[i]-p[i-1];j++)//p[i]-p[i-1]: i i-1
{
s[cnt++]=1;
}
s[cnt++]=0;
}
int t=0;int tmp=0;int pos=0;
for(int i=0;i=0;j--)
{
if(s[j]==1)
{
s[i]=s[j]=2;// ,
pos=j;
break;
}
}
//
for(int k=i;k>=pos;k--)
{
if(s[k]==2)
{
tmp++;
}
}
w[t++]=tmp/2;
}
}
for(int i=0;i