syhd142  
日历
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
统计
  • 随笔 - 23
  • 文章 - 122
  • 评论 - 31
  • 引用 - 0

导航

常用链接

留言簿(2)

随笔档案(23)

文章分类(270)

文章档案(122)

我的豆瓣

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 
依次找最大的烙饼,并翻滚放入适当位置,每个烙饼最多2次即可放好。直接模拟就好了。
思想有了,用代码实现还要想好久。。
#include <stdio.h>
#include 
<string.h>
#include 
<algorithm>

int a[35], b[35], c[35];

int main()
{
//    freopen("in", "r", stdin);
    char data[1000];
    
int n;
    
while(gets(data))
    {
        puts(data);
        
char *= strtok(data, " ");
        n 
= 0;
        
while(p)
        {
            sscanf(p, 
"%d"&a[++n]);
            b[n] 
= a[n];
            p 
= strtok(NULL, " ");
        }
        std::sort(b 
+ 1, b + n + 1);
        
for(int i = n; i; i--)
        {
            
for(int j = 1; j <= i; j++)
            {
                
if(b[i] == a[j] && i != j)
                {
                    
if(j == 1) printf("%d ", n - i + 1);
                    
else printf("%d %d ", n - j + 1, n - i + 1);
                    
int v = 0;
                    
for(int k = i; k > j; k--) c[++v] = a[k];
                    
for(int k = 1; k <= j; k++) c[++v] = a[k];
                    
for(int k = i + 1; k <= n; k++) c[++v] = a[k];
                    
for(int k = 1; k <= v; k++) a[k] = c[k];
                    
break;
                }
            }
        }
        printf(
"0\n");
    }
    
return 0;
}
posted on 2010-09-18 12:07 Fucker 阅读(185) 评论(0)  编辑 收藏 引用 所属分类: ACM/ICPC排序

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


 
Copyright © Fucker Powered by: 博客园 模板提供:沪江博客