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...