int main()
 {
   int t,p,l;
   int h,w,i=0,j,k,s;
   scanf("%d",&t);
   int arr[t];
   int b[100][100];
   for(k=0;k<t;k++)
    {
      s=0;
      scanf("%d%d",&h,&w);
      for(l=0;l<h;l++)
       for(j=0;j<w;j++)
        scanf("%d",&b[l][j]);
//      printf("\n\n%d\n\n",s);
      p=maxpos(b[0],w);
      s=s+b[0][p];

//      printf("%d",b[0][p]);
//      printf("\n\nno problem\n\n");
      while(1)
      {
 //     printf("%d\n\n%d",s,i);
      i++;
      if(i>=h)
       break;
      else
        if(p==w-1)
         s=s+b[i][--p];
        else
         if(p==0)
          s=s+b[i][1];
          else 
          if(b[i][--p]>b[i][++p])
            {
              s=s+b[i][--p];
 //             printf("\n\n.\n\n");
            }         
           else
            {
             s=s+b[i][++p];
 //            printf("\n\n. . \n\n");
            } 
      }
      arr[k]=s;
    }            
    for(i=0;i<t;i++)
     printf("%d\n",arr[i]);
    return 0;
  }   
예제 #2
0
파일: 435B.c 프로젝트: GuidoPaul/ACM
int main() {
	char str[20];
	int k, i;
	int maxn;
	while(scanf("%s%d", &str, &k) != EOF) {
		len = strlen(str);
		i = 0;
		//printf("%d\n", len);
		while(k != 0 && i < len) {
			//printf("%d\n", i);
			maxn = maxpos(str + i, i, k);
			k -= maxn;
			make(str + i, maxn);
			//printf("%s\n", str);
			i ++;
		}
		printf("%s\n", str);
	}
	return 0;
}