[PYTHON] AtCoder Beginner Contest 155 Teilnahmebericht

AtCoder Beginner Contest 155 Teilnahmebericht

ABC155A - Poor

Brechen Sie in 2 Minuten durch. Schreiben Sie einfach. Fahren Sie mit der vorherigen Zeit fort und duplizieren Sie das Urteil mit dem Satz.

ABC = list(map(int, input().split()))

if len(set(ABC)) == 2:
    print('Yes')
else:
    print('No')

ABC155B - Papers, Please

Brechen Sie in zweieinhalb Minuten durch. Schreiben Sie einfach.

N = int(input())
A = list(map(int, input().split()))

for a in A:
    if a % 2 == 1:
        continue
    if a % 3 == 0 or a % 5 == 0:
        continue
    print('DENIED')
    exit()
print('APPROVED')

ABC155C - Poll

Es brach in achteinhalb Minuten durch. Ich brauchte einige Zeit, um zu schreiben ... (Schweiß). Als ich hörte, dass sich der C # -Boger in einem Zustand der Zerstörung befand und den Code der AC-Person betrachtete, konnte jeder das String-Array nach seinem eigenen Vergleicher sortieren. Weil ich es benutzte, fragte sich Mono, ob der Stringvergleich verrückt war.

N = int(input())

d = {}
for _ in range(N):
    S = input()
    if S in d:
        d[S] += 1
    else:
        d[S] = 1

m = max(d.values())
for s in sorted(k for k in d if d[k] == m):
    print(s)

Nachtrag: Jeder, der C # -Sortierungen mit seinem eigenen Vergleicher durchläuft, durchläuft jedoch den Standard-StringComparer.Ordinal (der im Wesentlichen einen Aufruf der strcmp-Funktion in der C-Laufzeit darstellt).

using System;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var N = int.Parse(Console.ReadLine());

            var d = new Dictionary<string, int>();
            for (var i = 0; i < N; i++)
            {
                var S = Console.ReadLine();
                if (!d.ContainsKey(S)) d[S] = 0;
                d[S]++;
            }

            var m = d.Values.Max();
            var l = new List<string>();
            foreach (var kv in d)
            {
                if (kv.Value != m) continue;
                l.Add(kv.Key);
            }

            l.Sort(StringComparer.Ordinal);
            Console.WriteLine(string.Join("\n", l));
        }
    }
}

ABC155D - Pairs

Verloren. Ich ging zu E, weil es viele Leute gibt, die E verstehen. Ich dachte, es wäre ein Mist.

ABC155E - Payment

Verloren. Obwohl Eingabebeispiel 1 und Eingabebeispiel 2 durchgebrochen sind, wurde Eingabebeispiel 3 zu 249 statt 243, und ich dachte an ein Muster, das mit meiner Logik nicht funktionieren würde, aber ich konnte nicht daran denken.

Nachtrag 1: Gununu.

N = input()

N = '0' + N
result = 0
carry = 0
for i in range(len(N) - 1, 0, -1):
    c = int(N[i]) + carry
    n = int(N[i - 1])
    if c < 5 or (c == 5 and n < 5):
        result += c
        carry = 0
    else:
        result += 10 - c
        carry = 1
result += carry
print(result)

Nachtrag 2: Anstatt an ein Muster zu denken, das für Clever nicht funktioniert, hätte ich versuchen sollen, sowohl mit dieser Ziffer als auch mit der oberen Ziffer auf allen Ziffern zu zahlen und die kleinere zu nehmen ... Dann brauchte ich keine Intelligenz ...

N = input()

a = 0  #Zahlen Sie mit dieser Ziffer der Rechnung
b = 0  #Bezahlen Sie mit der Rechnung mit der oberen Ziffer

t = int(N[-1])
a, b = a + t, a + (10 - t)

for i in range(len(N) - 2, -1, -1):
    t = int(N[i])
    a, b = min(a + t, b + (t + 1)), min(a + (10 - t), b + (10 - (t + 1)))
print(min(a, b + 1))

Recommended Posts

AtCoder Beginner Contest 181 Teilnahmebericht
AtCoder Beginner Contest 161 Teilnahmebericht
AtCoder Beginner Contest 151 Teilnahmebericht
AtCoder Beginner Contest 176 Teilnahmebericht
AtCoder Beginner Contest 154 Teilnahmebericht
AtCoder Beginner Contest 166 Teilnahmebericht
AtCoder Beginner Contest 145 Teilnahmebericht
AtCoder Beginner Contest 184 Teilnahmebericht
AtCoder Beginner Contest 165 Teilnahmebericht
AtCoder Beginner Contest 160 Teilnahmebericht
AtCoder Beginner Contest 169 Teilnahmebericht
AtCoder Beginner Contest 159 Teilnahmebericht
AtCoder Beginner Contest 164 Teilnahmebericht
AtCoder Beginner Contest 168 Teilnahmebericht
AtCoder Beginner Contest 150 Teilnahmebericht
AtCoder Beginner Contest 158 Teilnahmebericht
AtCoder Beginner Contest 180 Teilnahmebericht
AtCoder Beginner Contest 156 Teilnahmebericht
AtCoder Beginner Contest 162 Teilnahmebericht
AtCoder Beginner Contest 157 Teilnahmebericht
AtCoder Beginner Contest 167 Teilnahmebericht
AtCoder Beginner Contest 179 Teilnahmebericht
AtCoder Anfängerwettbewerb 182
AtCoder Anfängerwettbewerb 146 Teilnahmebericht
AtCoder Beginner Contest 152 Teilnahmebericht
AtCoder Beginner Contest 155 Teilnahmebericht
AtCoder Beginner Contest 174 Teilnahmebericht
AtCoder Beginner Contest 171 Teilnahmebericht
AtCoder Beginner Contest 149 Teilnahmebericht
AtCoder Anfängerwettbewerb 148 Teilnahmebericht
AtCoder Beginner Contest 170 Teilnahmebericht
AtCoder Beginner Contest 183 Teilnahmebericht
AtCoder Beginner Contest # 003 Teilnahmehinweis
AtCoder Grand Contest 041 Teilnahmebericht
AtCoder Grand Contest 040 Teilnahmebericht
AtCoder Regular Contest 105 Teilnahmebericht
AtCoder Regular Contest 104 Teilnahmebericht
Eintragsdatensatz für den ACL-Anfängerwettbewerb
Atcoder Anfängerwettbewerb 146 Teilnahme Tagebuch
Teilnahmebericht des AtCoder Chokudai Contest 005
AtCoder Grand Contest 047 Teilnahmebericht
AtCoder Anfängerwettbewerb 177
AtCoder Anfängerwettbewerb 179
AtCoder Anfängerwettbewerb 172
AtCoder Anfängerwettbewerb 180
AtCoder Anfängerwettbewerb 173
Atcoder Anfänger Wettbewerb 153
Teilnahmebericht des AtCoder HHKB Programmierwettbewerbs 2020
Teilnahmebericht des AtCoder Acing Programming Contest 2020
Teilnahmebericht des AtCoder Keyence Programming Contest 2020
Teilnahmebericht des AtCoder Panasonic Programming Contest 2020
AtCoder Anfängerwettbewerb 152 Rückblick
AtCoder Anfängerwettbewerb 181 Hinweis
AtCoder Beginner Contest 160 Bewertung
AtCoder Anfängerwettbewerb 178 Bewertung
AtCoder Anfängerwettbewerb 180 Hinweis
AtCoder Anfängerwettbewerb 166 Bewertung
AtCoder Anfängerwettbewerb 167 Bewertung