AtCoder Beginner Contest 162

Enlace del concurso: https://atcoder.jp/contests/abc162/tasks

A - Lucky 7

#include <bits / stdc ++. h>
 usando el  espacio de nombres std;
int main () {
     int n; cin >> n; 
    cout << (to_string (n) .find ( " 7 " )! = - 1 ? " " : " No " ); 
}

B - FizzBuzz Sum

#include <bits / stdc ++. h>
 usando ll = long  long ;
usando el  espacio de nombres estándar;
int main () { 
    ll n; cin >> n; 
    ll ans = 0 ;
    para (ll i = 1 ; i <= n; i ++ ) {
         if (i% 3 && i% 5 ) ans + = i; 
    } 
    cout << ans; 
}

C - Suma de mcd de Tuplas (Fácil)

Por qué falló nuevamente el renderizado ...

#include <bits / stdc ++. h>
 usando ll = long  long ;
usando el  espacio de nombres estándar;
int main () { 
    ll k; cin >> k; 
    ll ans = 0 ;
    para (ll a = 1 ; a <= k; a ++ ) {
         para (ll b = 1 ; b <= k; b ++ ) {
             para (ll c = 1 ; c <= k; c ++ ) { 
                ans + = __gcd ( __gcd (a, b), c); 
            } 
        } 
    } 
    cout <<años 
}

D - Tripletas RGB

Titulo

Una cadena consta de $ RBG $, encuentre el triplete $ (i, j, k) $ satisfar:

  • $ i <j <k $
  • $ s [i]! = s [j] \ \ & \ & \ s [i]! = s [k] \ \ & \ & \ s [j]! = s [k] $
  • $ ji \! = \ kj $

Ideas

 Almacene la posición de las letras $ 3 $, enumere los casos $ 9 $ y encuentre el subíndice que satisfaga $ j> i, kj $ en la búsqueda binaria.

Código

#include <bits / stdc ++. h>
 usando ll = long  long ;
 usando  namespace std; 

int n; string s; 
vector < int > v [ 3 ]; 

inline int idx ( int b, int a, int i) { // Encuentre el primer subíndice no menos que v [a] [i] en
     v [b] return upper_bound (v [b] .begin (), v [b] .end (), v [a] [i] ) -v [b] .begin (); 
} 

ll cal ( int a, int b, int c) { 
    ll ret = 0;
    for ( int i = 0 ; i <v [a] .size (); i ++ ) {
         for ( int j = idx (b, a, i); j <v [b] .size (); j ++ ) {
             for ( int k = idx (c, b, j); k <v [c] .size (); k ++ ) {
                 if (v [b] [j] - v [a] [i]! = v [c] [k] - v [b] [j]) { // 等价 于 条件 中 的 j - i! = k - j 
                    ++ ret; 
                } 
            } 
        } 
    } 
    return ret; 
} 

int main () { 
    cin >> n >> s;
    for ( int i = 0 ; i <n; i ++) { // Almacenar la posición de diferentes letras 
        if (s [i] == ' R ' ) v [ 0 ] .push_back (i);
         else  if (s [i] == ' G ' ) V [ 1. .push_back (I)];
         la otra V [ 2 ] .push_back (I); 
    } 
    LL ANS = 0 ;
     para ( int I = 0 ; i < . 3 ; i ++) { // piezas Cite RGB antes y después 
        para ( intj = 0 ; j < 3 ; j ++ ) {
             for ( int k = 0 ; k < 3 ; k ++ ) {
                 if (i! = j && i! = k && j! = k) { 
                    ans + = cal (i, j, k); 
                } 
            } 
        } 
    } 
    cout << ans; 
}

 

Supongo que te gusta

Origin www.cnblogs.com/Kanoon/p/12688882.html
Recomendado
Clasificación