1. 程式人生 > >組隊賽(13周)

組隊賽(13周)

比賽地址    http://acm.sdibt.edu.cn/vjudge/contest/view.action?cid=2120#overview
A

Sample Input
1 1 0 1 0
0 0 1 0 1
1 0 0 1 0
1 0 1 1 0
Sample Output
Y
N


題意:上下兩行對應,如果都相等輸出Y,否則輸出N.

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<map>
#include<cmath>
#include<string>
using namespace std;
int main()
{

    int a,a1,b,b1,c,c1,d,d1,e,e1;
    while(~scanf("%d%d%d%d%d",&a,&b,&c,&d,&e))
    {
        scanf("%d%d%d%d%d",&a1,&b1,&c1,&d1,&e1);
        if(a!=a1&&b!=b1&&c!=c1&&d!=d1&&e!=e1)
            printf("Y\n");
        else
            printf("N\n");
    }

Sample Input
2 1
BWWB
5 3
WBWWBWBWBWBBBWWBBB
1000000 0
W
Sample Output
2
27
0


題意:讓B都移到左邊,W移到左邊,相鄰兩個交換花費a-b錢,不相鄰花費a的錢,求最小的花費.
思路:將需要交換的號碼分到兩個陣列中,求每一步的最優解.

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<map>
#include<cmath>
#include<string>
using namespace std;
typedef long long ll;
int main()
{

    ll bb,w;
    string s;
    while(cin>>bb>>w)
    {
        cin>>s;
        ll j=0,a[5100],b[5100];
        memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
        ll ans=0,sum=0;
        ll len=s.size();
        for(ll i=0;i<len;i++)
        {
            if(s[i]=='B')
                sum++;
        }
        for(ll i=0;i<sum;i++)
        {
            if(s[i]=='W')
                a[j++]=i;
        }
        //cout<<j<<endl;
        j=0;
        for(ll i=sum;i<len;i++)
        {
            if(s[i]=='B')
                b[j++]=i;
        }
        //cout<<j<<endl;
        int e=0;
        for(ll i=j-1;i>=0;i--)
        {
            ans+=min((b[e++]-a[i])*(bb-w),bb);//位置差值與相差錢數與直接交換比較
        }
        cout<<ans<<endl;
    }
}

H

Sample Input
6
-3 -10 -5 11 4 4
2
-6 6
8
0 0 0 0 0 0 0 0
Sample Output
5
12
0

題意:找最小的一個值,每兩個數要麼是abs(i-j),要麼是 24-abs(i-j),求出最小的和。

思路:先sort排序,然後從頭兩個一對,算出答案,將第一個移到最後一個,在計算一遍,取最小。

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<map>
#include<cmath>
#include<string>
using namespace std;
typedef long long ll;
int main()
{
    ll n,a[1010],i,j;
    while(cin>>n)
    {
        memset(a,0,sizeof(a));
        ll ans1=0,ans2=0;
        for(i=0;i<n;i++)
            cin>>a[i];
        sort(a,a+n);
        for(i=0;i<n-1;i+=2)
            ans1+=min(abs(a[i]-a[i+1]),24-abs(a[i]-a[i+1]));
        ll t=a[0];
        for(i=0;i<n;i++)
            a[i]=a[i+1];
        a[n-1]=t;
        for(i=0;i<n-1;i+=2)
            ans2+=min(abs(a[i]-a[i+1]),24-abs(a[i]-a[i+1]));
        //cout<<ans1<<" "<<ans2<<endl;
        cout<<min(ans1,ans2)<<endl;
    }
    return 0;
}

相關推薦

組隊13

比賽地址    http://acm.sdibt.edu.cn/vjudge/contest/view.action?cid=2120#overview A Sample Input 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 1 0 1 1 0 Sampl

組隊11

7783 Which Base is it Anyway? Programming languages such as C++ and Java can prefix characters to denote the base of constant integer values. For

組隊12

比賽地址  http://acm.sdibt.edu.cn/vjudge/contest/view.action?cid=2117#overview H Sample Input 4 3 2 123456 6 999999 8 765432 7 Sample Output 2

組隊第七週

ABDE為水題,CF為dp A - Nth Largest Value 4552 Nth Largest Value For this problem, you will write a program that prints the N-th largest value in a

第二次組隊xiaocodeforces1070

K. Video Posts Input The first line contains two integers n and k (1≤k≤n≤105). The next line contains n positive integer numbers a1,a2

HFOI2017.7.13校內普及組題解

T1:分解因數 描述     給出一個正整數a,要求分解成若干個正整數的乘積,即a = a1 * a2 * a3 * ... * an,並且1 < a1 <= a2 <= a3 <= ... <= an,問這樣的分解的種數有多少。注意到a =

第四屆13藍橋杯java B組決賽真題

pla 標題 boolean pub for ide 真題 code one 1、標題:猜燈謎(填空) A 村的元宵節燈會上有一迷題: 請猜謎 * 請猜謎 = 請邊賞燈邊猜 小明想,一定是每個漢字代表一個數字,不同的漢字代表不同的數字。

2017-9-2 NOIP模擬自測

ron 現在 滿足 noip 開始 多少 move 實力 rdquo “與” (and.pas/.c/.cpp) 時間限制:1s;空間限制64MB 題目描述: 給你一個長度為n的序列A,請你求出一對Ai,Aj(1<=i<j<

模擬11.4

nss size scan weight none src oid long blog #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath&g

python核心編程第二

pos -s 其他 pan spa 二周 布爾型 16px 標準 第五章 數字 數的簡介 整形 布爾型 標準的整形 長整形 浮點型實數 復數 操作符 內建函數 其他數字類型 相關模塊 python核心編程(第二周)

2017年西南民族大學程序設計競賽-網絡同步代碼

true can 而且 pri 排名 scan namespace and define 20598954 nmphy D 答案正確 8 512 486 C++ 2017-12-30 14:30:35 205987

Python練習第一: 編寫登陸認證程序

用戶鎖定 用戶輸入 文件 提示 print 基礎 else 再次 分享圖片 基礎需求: 讓用戶輸入用戶名密碼 認證成功後顯示歡迎信息 輸錯三次後退出程序 升級需求: 可以支持多個用戶登錄 (提示,通過列表存多個賬戶信息) 用戶3次認證失敗後,退出程序,再次啟動程序嘗試登錄

2017 ICPC區域西安站--- J題 LOLDP

nds 我們 要求 tle 思路 strings padding back 全排列 題目鏈接 problem description 5 friends play LOL together . Every one should BAN one characte

TCP/IP 詳解 卷一 協議 第二版翻譯問題第一2018

TCP/IP 詳解 卷一 協議 第二版原文:end-to-end argument and fate sharing翻譯:端到端的論點和命運共享問題:直譯建議:端到端的原則 和 命運共擔 (或者“端到端原則 和 fate sharing”,fate sharing就 當作術語別去翻譯了,非常別扭) 依據:

20165306課下作業第二

.com 兩個 運行 圖片 二周 編譯運行 inf img comm 一、教材代碼完成情況測試 代碼鏈接 此代碼作用是求和(1~5306)。 二、帶包的代碼編譯運行測試 代碼鏈接 三、課後習題p16 1.Person.java 2.兩個,Person.class和Xit

課下作業第一

git add 運行 AD 提交 win inf .class 源文件 class 課下作業(第一周) 一、相關知識點總結 (一)、教材代碼完成情況測試P14(相關知識點:運行第一章所有代碼並截圖) (二)、帶包的代碼編譯運行測試 在Ubuntu或Windows 命令行中

Python 3.5學習筆記第一

不可見 pytho DC HR pri 由於 python 世界 oop 聲明:本文只用作記錄自己的學習過程,請勿用於商業用途,部分內容引用自他人文章,如有侵權,聯系刪除。 本周內容:   1、安裝python 3.5 和 PyCharm 社區版   2、第一個python

結對編程練習_四則運算第一

can 並且 代碼 結果 love 遇到的問題 https 令行 程序 結對編程項目-四則運算 (第一周) 題目需求 編程,實現一個能進行(加、減、乘、除)的命令行程序。 題目分析 本題要求一個能夠實現加減乘除的程序。 首先有四種情況,需要用到else-if語句; 並且

結對編程——四則運算第一

inf 情況 代碼托管 string on() 測試 運算 Coding 總數 結對編程——四則運算(第一周) 需求分析 題目要求 一個命令行程序實現: 自動生成小學四則運算題目(加、減、乘、除) 支持整數 支持多運算符(比如生成包含100個運算符的題目) 支持真分數 統

20165228 結對學習 四則運算第二

計劃 目前 BE 保留 成功 不能 porting 規範 程序 20165228 結對學習 四則運算 本次紅色為優化和添加部分 一、需求分析 題目生成 可獨立使用 考慮可擴展支持配置生成不同難度的題目,比如通過參數指定: 題目合法性判斷 測試生成題目的正確性 輸入的合法性