Oui. Je n'ai fait aucun progrès comme un flottement, mais j'ai commencé à poser des questions dans le passé. http://codeforces.com/contest/1
Un problème Grossièrement Il y a un jardin de théâtre à Berland, d'une superficie de n * m. Répartissez le jardin avec le nombre minimum de pierres d'un * a.
Si vous imaginez le remplir à partir de l'origine O, vous ne devriez pas pouvoir mettre de pierres sur les bords, mais il n'est pas permis de casser les dalles. D'après ce que beaucoup de gens ont vu, ils ont utilisé une méthode commune, alors le problème standard et la formule peuvent-ils tenir? .. ..
((n+a-1)/a)*((m+a-1)/a)
((Vertical dans le jardin+calcul-1)/calcul)*((À côté du jardin+calcul-1)/calcul)
Puisque la pierre est carrée cette fois, les directions verticale et horizontale ne changent pas, mais la méthode d'application de la formule pour une pierre rectangulaire est actuellement inconnue.
a.py
(n,m,a)=map(int,raw_input().split())
#if n%a != 0: n+= n%a
#if m%a != 0: m+= m%a
print ((n+a-1)/a)*((m+a-1)/a)
Problème B Grossièrement Feuille de calcul de type Excel Il existe deux types d'entrée sur n lignes. BC23 BC est la colonne, 23 est la ligne R23C55 R est la ligne, C est la colonne
602523 Son dernier jour faisait référence à la solution.
b.py
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import timeit
import time
import sys
import io
import re
import math
n=int(raw_input())
for i in range(n):
m=raw_input()
#Vérifiez si l'entrée est le numéro R numéro C
#Correspondre à l'origine=Bien qu'il ait été écrit, je l'ai évité car il entre en conflit avec l'instruction de correspondance lorsqu'il est réutilisé à l'avenir.
chk=re.search(r'R(\d+)C(\d+)',m)
if chk:
#Pouvez-vous récupérer les premier et deuxième lieux que vous recherchez? ?? Génial
x=int(chk.group(2))
res=''
while x:
#Passez en revue la fonction intégrée ord
res=chr(ord('A')+(x-1)%26)+res
x=(x-1)/26
#Pas besoin de traiter quoi que ce soit si la ligne peut être extraite numériquement
print (res+chk.group(1))
else:
#Ici aussi, la recherche est préparée pour extraire uniquement des valeurs non numériques et des valeurs numériques.
t=re.search(r'(\D+)(\d+)',m)
x=0
for letter in t.group(1):
x=x*26+(ord(letter)-ord('A')+1)
#Pas besoin de traiter si vous prenez la ligne
#La colonne est également ord ici()À
print ('R%dC%d' % (int(t.group(2)), x))
Problème C Je ne sais pas Il y avait une personne qui a expliqué la phrase problématique avec une traduction japonaise. http://d.hatena.ne.jp/kyuridenamida/20120124/1327336975
Un peu ici en attente
Recommended Posts