zoukankan      html  css  js  c++  java
  • JOJ 2680 Problem F: Coin Game

    题意:给你两组数,第一组按从大到小的顺序给出,第二组随机给,让你求挪动最小的次数使第二组的数字比第一组相对应位置的数字要小,挪动的顺序只能够相邻的挪动

    分析:从第一组最后一个数字开始,从第二组最后一个数字开始找,若找到比第一组的小的数,就将他标记且挪动到最后一个位置,无论该数字是否为第二组数中最大的还是最小的都成立,只要他是最近的就可以了,大的满足条件何况小的

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int num1[110],num2[110];
        int i,j,n;
        while(scanf("%d",&n)!=EOF)
        {
            for (i=0; i<n; i++)
                scanf("%d",&num1[i]);
            for (i=0; i<n; i++)
                scanf("%d",&num2[i]);
            int ans=0;
            for (i=n-1; i>=0; i--)
            {
                for (j=n-1; j>=0; j--)
                    if(num1[i]<num2[j]) ans++;
                    else if(num2[j]!=-1) {num2[j]=-1; break; }
            }
            printf("%d\n",ans);
        }
        return 0;
    }
    
  • 相关阅读:
    case 条件语句
    shell 函数
    if条件语句
    IP地址分类和分段
    shell脚本的条件测试与比较
    bc命令
    [LeetCode]Remove Duplicates from Sorted Array II
    [LeetCode]Merge Two Sorted Lists
    [LeetCode]Climbing Stairs
    [LeetCode]Merge Intervals
  • 原文地址:https://www.cnblogs.com/zsboy/p/2478183.html
Copyright © 2011-2022 走看看