Atcoder ABC162 D - Tripletas RGB

Portal: trillizos D-RGB

 Título: Déle una cadena que contenga solo 'R', 'G', 'B', encuentre cuántas longitudes son 3 y cada carácter no es igual, y el primer segundo y segundo tercer intervalo Subsecuencias de diferentes longitudes.

Solución del problema: Cuente cuántos caracteres tiene cada uno, calcule el número de las dos subsecuencias diferentes y luego reste el número de longitudes iguales

Código:

1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <cmath>
 5 #include <algorithm>
 6 #include <stack>
 7 #include <queue>
 8 #include <vector>
 9 # incluir <map>
 10 #include < set >
 11 #include <unordered_set>
 12 #include <unordered_map>
13  #define ll largo largo
 14  #define fi first
 15  #define se second
 16  #define pb push_back
 17 #define me memset
 18  const  int N = 1e6 + 10 ;
19  const  int mod = 1e9 + 7 ;
20  usando el  espacio de nombres estándar;
21 typedef pair < int , int > PII;
22 pares typedef < largo , largo > PLL;
23   
24  int n;
25 ll cnt = 0 ;
26  ll r, g, b;
27  cuerdas s;
28   
29  int main () {
30      ios :: sync_with_stdio ( falso );
31      cin >> n >> s;
32     para ( int i = 0 ; i <n; ++ i) {
 33         para ( int j = i + 1 ; j <n; ++ j) {
 34             int k = j + (j- i);
35             si (k> n- 1 ) continúa ;
36             if (s [i]! = S [j] && s [j]! = S [k] && s [i]! = S [k]) cnt ++ ;
37         }
 38     }
 39   
40     para ( int i =0 ; i <n; ++ i) {
 41         if (s [i] == ' R ' ) r ++ ;
42         más  if (s [i] == ' G ' ) g ++ ;
43         más b ++ ;
44     }
 45     printf ( " % lld \ n " , r * g * b- cnt);
46   
47   
48      retorno  0 ;
49 }
Ver código

 


 

 

Supongo que te gusta

Origin www.cnblogs.com/lr599909928/p/12688958.html
Recomendado
Clasificación