2121 基礎 獎牌整理

2021-09-29 08:54:02 字數 1505 閱讀 5647

2121: 【基礎】獎牌整理

時間限制: 1 sec 記憶體限制: 32 mb

提交: 714 解決: 288

[提交] [狀態] [討論版] [命題人:ghost79]

題目描述

輸入輸入資料第一行只有乙個正整數 n 表示獎牌序列的長度,其中 1≤n≤1000;

第二行有 n 個大寫字母,每個大寫字母代表一枚獎牌,其中 g 代表金牌,s 代表銀牌,b 代表銅牌。

輸出輸出資料僅有一行包含乙個整數,表示最少需要幾次對換操作。

樣例輸入

9ssgbbbsbg

樣例輸出4提示

樣例解釋

s s s< g g s< g g g g g< s s s s b b< s s s b b b b< s b b b b b s s< b b b b b b b b g g g< s< b

小 z 的床頭共有 9 枚獎牌,以上資料第一列為 9 枚獎牌的初始序列,每次操作將每列 中箭頭指向的兩個位置的獎牌對換,對換後變成右邊一列的狀態,經過 4 次對換操作所有

獎牌就按金銀銅牌的順序依次排好了,可以驗證 4 步操作是必不可少的。

資料範圍

10%的資料滿足:獎牌種類只有兩種

30%的資料滿足:n≤10

60%的資料滿足:n≤100

100%的資料滿足:n≤1000

常州市2014「資訊與未來」夏令營選拔賽

題解如下

#include

#include

void

swap

(char

&a,char

&b)int

main()

int pos_sta_s=posi_s;

// 第乙個銀牌開始的位置

int pos_end_s=posi_s+count_s-1;

//先對銀牌進行操作

for(

int i=pos_sta_s;i<=pos_end_s;i++)}

if(flag==0)

for(

int j=n-

1;j>pos_end_s;j--)}

}else

if(ar[i]

=='b')}

if(flag==0)

for(

int j=

0;j)//與銀牌之前的位置交換}}

}}for(

int i=

0;i}}

//for(int i=0;i// printf("%c ",ar[i]);

printf

("%d"

,swap_count)

;return0;

}

shell 基礎整理

shell 基礎整理 1,指令碼檔名以 sh 2,命名變數 1 自定義變數 name zhangsan 2 evn 大小寫字母 3 echo name echo path 4 作用域 預設自定義變數 區域性 通過呼叫多個shell程序 開啟shell 父 再次開啟shell 子 env shlvl ...

ruby基礎整理

一 ruby是什麼?ruby是一種用於迅速和簡便的物件導向程式設計的解釋性指令碼語言。解釋性指令碼語言 1.有直接呼叫系統呼叫的能力 2.強大的字串操作和正規表示式 3.開發中快速回饋 迅速和簡便 1.無需變數宣告 2.變數無型別 3.語法簡單而堅實 4.自動記憶體管理 物件導向程式設計 1.任何事...

基礎整理 常量

常量就在程式中不變的量,是不能改變的,是程式設計世界中的恆定值。在c 中包括的常量分別是 整型 浮點型 布林型 字元型等 下面我來一一說明 整形常量 整型常量是整數型別的資料,在c 中整數有4種形式二進位制 八進位制 十進位制和十六進製制 二進位制 僅由數字0和1組成的數字 例如 010100101...