Concurso para iniciantes AtCoder 162

Link do concurso: https://atcoder.jp/contests/abc162/tasks

A - Sorte 7

#include <bits / stdc ++. h>
 usando o  espaço para nome std;
int main () {
     int n; cin >> n; 
    cout << (to_string (n) .find ( " 7 " )! = - 1 ? " Sim " : " Não " ); 
}

B - Soma do FizzBuzz

#include <bits / stdc ++. h>
 usando ll = long  long ;
usando  espaço para nome std;
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 - Soma do MDC de Tuplas (Fácil)

Por que a renderização falhou novamente ...

#include <bits / stdc ++. h>
 usando ll = long  long ;
usando  espaço para nome std;
int main () { 
    ll k; cin >> k; 
    ll ans = 0 ;
    for (ll a = 1 ; a <= k; a ++ ) {
         for (ll b = 1 ; b <= k; b ++ ) {
             for (ll c = 1 ; c <= k; c ++ ) { 
                ans + = __gcd ( __gcd (a, b), c); 
            } 
        } 
    } 
    Cout <<anos; 
}

D - trigêmeos RGB

Título

Uma string consiste em $ RBG $, encontre o trigêmeo $ (i, j, k) $ satisfazendo:

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

Idéias

 Armazene a posição de letras $ 3 $, enumere casos $ 9 $ e encontre o subscrito que satisfaça $ j> i, kj $ na pesquisa binária.

Código

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

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

inline int idx ( int b, int a, int i) { // Encontre o primeiro subscrito não menos que v [a] [i] em
     v [b] retorne 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 ++ ) {
             para ( 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; 
                } 
            } 
        } 
    } 
    retornar ret; 
} 

int main () { 
    cin >> n >> s;
    for ( int i = 0 ; i <n; i ++) { // Armazena a posição de letras diferentes 
        if (s [i] == ' R ' ) v [ 0 ] .push_back (i);
         else  if (s [i] == ' L ' V) [ 1. .push_back (I)];
         o outro V [ 2 ] .push_back (I); 
    } 
    LL ANS = 0 ;
     para ( int I = 0 ; I < . 3 ; i ++) { // peças Cite o RGB antes e depois 
        de ( 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; 
}

 

Acho que você gosta

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