1 条题解
-
0
C++ :
#include<bits/stdc++.h> using namespace std; int n,s,g,ans,t1,t2; char a[10005]; int main(){ cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; if(a[i]=='G') g++; if(a[i]=='S') s++; } for(int i=1;i<=g;i++) { if(a[i]!='G') ans++; if(a[i]=='S') t1++; } for(int i=g+1;i<=g+s;i++) { if(a[i]!='S') ans++; if(a[i]=='G') t2++; } cout<<ans-min(t1,t2); return 0; }
Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); String str = sc.nextLine(); sc.close(); int[] x = new int[3]; if (str.indexOf('G') != -1) { x[0] = count(str, 'G'); } if (str.indexOf('S') != -1) { x[1] = count(str, 'S'); } if (str.indexOf('B') != -1) { x[2] = count(str, 'B'); } String[] str1 = new String[3]; str1[0] = str.substring(0, x[0]); str1[1] = str.substring(x[0],x[0] + x[1]); str1[2] = str.substring(x[0] + x[1], x[0] + x[1] + x[2]); int count = 0; count(str1[0],'S'); count(str1[0],'B'); count(str1[1],'G'); count(str1[1],'B'); count(str1[2],'G'); count = str1[0].length() - count(str1[0],'G'); if(count(str1[0],'S') >= count(str1[1],'G')) { count += count(str1[1],'B'); }else if(count(str1[0],'S') < count(str1[1],'G')) { count += count(str1[1],'B') + (count(str1[1],'G')-count(str1[0],'S')); } System.out.println(count); } public static int count(String s, char c) { int count = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == c) { count++; } } return count; } }
- 1
信息
- ID
- 2492
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者