NC21362. 贪心只能过样例
描述
输入描述
第一行为一个整数T,表示数据的组数。接下来T行为T组数据,每组数据只有一行字符串s,表示街上的行人。
输出描述
对于每组数据,输出一行一个整数表示街上行人最少的数量
示例1
输入:
1 MMFMMFFFMMM
输出:
8
C++11(clang++ 3.9) 解法, 执行用时: 5ms, 内存消耗: 480K, 提交时间: 2018-11-25 13:32:49
#include<iostream> #include<string> using namespace std; string a; int main(){ int T;cin>>T; while(T--){ cin>>a; int n = a.size(); for(int i=1;i<a.size();++i){ if(a[i-1]!=a[i]) { n--;++i; } } cout<<n<<endl; } }
Python3(3.5.2) 解法, 执行用时: 29ms, 内存消耗: 3552K, 提交时间: 2018-11-25 13:48:14
import re def solve(): s = input() s1 = re.sub('MF|FM', 'J', s) return print(len(s1)) a = int(input()) for i in range(a): solve()
pypy3 解法, 执行用时: 161ms, 内存消耗: 28732K, 提交时间: 2021-08-19 15:26:19
import re for _ in range(int(input())): print(len(re.sub('MF|FM','J',input())))