Está en la página 1de 37

ACM STUDENT

CHAPTER
Lenguaje C/C++
Tipos de datos ms usados
ACM STUDENT CHAPTER
Nombre Cantidad de bits Rango
char 8 0..2
int !2 "2#$%&'%8!#(%8 a
2#$%&'%8!#(%&
)ong )ong (%
boo) 8 tr*e + ,a)se
,)oat !2 !.% - $0"!8 a !.% - $0!8 .&
d/gitos signi,icati0os1
do*b)e (% $.& - $0"!0 a $.& - $0!08
.$ d/gitos signi,icati0os1
)ong do*b)e 80 !.% - $0"%2!2 a $.$ -
$0%2!2 .$8 d/gitos
signi,icati0os
Estructura bsica de un
programa en C/C++
#include<cstdio>
int main(){
/* Primer programa */
printf(hello worldn!)"
return #"
$
ACM STUDENT CHAPTER
Funcin principal
Cabeceras
(Headers)
Cabeceras (Headers)
C
%a&eceras ms usadas
ACM STUDENT CHAPTER
Cabecera Descri3ci4n
5stdio.h6 Contiene )os 3rototi3os de )as
,*nciones 7 constantes
3rede,inidas 3ara e) mane8o de
)a entrada9sa)ida.
5string.h6 Contiene )os 3rototi3os de )as
,*nciones 3ara e) mane8o de
cadenas .arreg)o de
caracteres1
5math.h6 Contiene )os 3rototi3os de )as
,*nciones 7 constantes
3rede,inidas 3ara rea)i:ar
c;)c*)os
N*m<ricos
5ct73e.h6 Contiene )os 3rototi3os de )as
,*nciones 3ara c)asi,icar
caracteres.
Cabeceras(Headers) C++
Cabecera Descri3ci4n
5iostream6 Uti)i:ado 3ara o3eraciones de
entrada9sa)ida en e) )eng*a8e de
3rogramaci4n C==.
5iomani36 Pro0ee ,aci)idad 3ara )a mani3*)aci4n 7
,ormato de )a sa)ida.
5string6 C)ase 3ara e) mane8o de cadenas.
ACM STUDENT CHAPTER
Tam&i'n inclu(e ca&eceras compati&les con las definidas para el
lengua)e %
<cstdio>
<cstring>
<cct(pe>
<cmath>
*tc++
Entrada/Salida en C
Cabecera <cstdio> o <stdio.h>
Funcin scanf
scanf(cadena de formato,param1,.,paramN)
Funcin printf
printf(cadena de formato,param1,.,paramN)
!cadena de formato"
ACM STUDENT CHAPTER
Cadena de formato
,a cadena de formato- es un con)unto de caracteres- .ue se
tratan de la siguiente manera/
>
%aracteres en &lanco/ ,a funci0n leer e ignorar caracteres
de espacio en &lanco- ta&ulador- cam&io de l1nea+
>
%ual.uier carcter e2cepto 345/ ,a funci0n leer el siguiente
carcter de la entrada estndar- ( lo comprar con el carcter
de la cadena de formato ( lo comparar- esto tendr dos
posi&les resultados/

6i son iguales- este es descartado ( la funci0n continua con el siguiente carcter de


la cadena de formato+

6i son diferentes- la funci0n termina- ( de)a de leer la cadena de formato+


ACM STUDENT CHAPTER
Cadena de formato
>
%arcter 345/ *ste carcter indica el inicio de una secuencia
de caracteres .ue denotan el tipo ( formato de los datos a ser
le1dos+
6ecuencia / 47ancho87modificador87tipo8
9+ :ncho/ *specifica la cantidad de caracteres a ser le1dos+
;+ <odificador/ *specifica un tama=o diferente al de int- float-
unsigned int+ (l > para long int- dou&le- , > para long long-
long dou&le)+
?+ Tipo/ %arcter .ue especifica el tipo de dato ( como espera
ser le1do+
ACM STUDENT CHAPTER
Cadena de formato
Car;cter Ti3o de dato
c Car;cter ?nico
d Entero decima)
s Cadena de caracteres
o Entero octa)
-# @ Entero he-adecima)
, N?mero con 3*nto ,)otante
ACM STUDENT CHAPTER
Entrada/Salida en C++
Cabecera <iostream>
Funcin cin
Formato
cin >> param1 >> . >> paramN
Funcin cout
Formato
cout << cadena1 # $ariab%e1<< <<
cadenaN # $ariab%eN
ACM STUDENT CHAPTER
if (e2presi0n)
clausula"

if (e2presi0n)
clausula9"
else
clausula;"
Estructuras de control
ACM STUDENT CHAPTER
If If .. else ..
Estructuras de control
switch (e2presi0n){
case constante9 / clausulas9"
case constante; / clausulas;"
+++
7default / clausulas"8
$
ACM STUDENT CHAPTER
Estructura Switch
Bucles
while (e2presi0n){
sentencias
$
ACM STUDENT CHAPTER
&rea@ / Anstrucci0n para salir del &ucle inmediato .ue encierra
esta instrucci0n+
continue/ Anstrucci0n para pasar a la siguiente iteraci0n
ignorando las l1neas de c0digo .ue le siguen en el cuerpo del
&ucle+
ACM STUDENT CHAPTER
ACM STUDENT CHAPTER
Jueces en Lnea

:%< A%P% ,iBe :rchiBe

Cuarda los pro&lemas de los Dltimos regionales ( mundiales organiEados por la :%<>
A%P% (:=o ;### en adelante)+
F
GHa Inline Judge
F
%ontiene pro&lemas de regionales ( mundiales pasados (;### hacia atrs)+ :dems- de
una gran cantidad de pro&lemas de otras competencias+
F
6phere Inline Judge
F
Posee pro&lemas de regionales- pero inclu(e pro&lemas de competercias tipo AIA+
Pro&lemas de ma(or dificultad+
F
Pe@in GniBersit( Inline Judge
F
Pro&lemas de competencias asiticas ( regionales pasados+
!nternet Ser"ice #ro"iders
$ttp%//acmicpc&li"e&
arc$i"e'u"a'es/nue"oportal/data/problem'p$p(p)*+,+
ACM STUDENT CHAPTER
-escripci.n del problema
6e nos pide ma2imiEar la e2presi0n
ACM STUDENT CHAPTER
donde
Transferencia de cada proBeedor por segundo
KDmero de 3ro0eedores de
Anternet
%apacidad m2ima del canal en unidades por segundo
Soluci.n
Heamos como es esta funci0n
ACM STUDENT CHAPTER
Par&ola con c0ncaBa hacia a&a)o
Soluci.n
ACM STUDENT CHAPTER
Para hallar
m2imo-
necesitamos
Soluci.n
Lallando lo necesario
ACM STUDENT CHAPTER
6i &ien- encontramos una e2presi0n .ue nos da la respuesta-
de&emos recordar .ue esta de&e ser un nDmero entero+
Por tanto de&emos Ber como se comporta para
(
Soluci.n
%onsideraciones adicionales/
>
%asos degenerados ( K M #)/ *n este caso T M #- por.ue
no ha( unidades .ue transmitir o no ha( proBeedores de
internet respectiBamente+

ACM STUDENT CHAPTER
ACM STUDENT CHAPTER
/e0nman
htt3B99acmic3c")i0e"archi0e.*0a.es9n*e0o3orta)9data93rob)em.3h3C3D%2$
ACM STUDENT CHAPTER
-escripcion -el #roblema
*n &ase a una malla cuadrada de lado K- se le pide
encontrar el numero de cuadrados contenidos en esta +
K M ; - Kumero de cuadrados contenidos M N
ACM STUDENT CHAPTER
Soluci.n
O Pel pro&lema se puede deducir .ue si Q es la
respuesta - entonces /
Ponde %uad(i-K) es el numero de cuadrados de lado i
dentro de la malla de lado K


ACM STUDENT CHAPTER
*ntonces solo nos .uedaria determinar como podemos
calcular cuad(i-K)R
I&serBando con cuidado podemos notar .ue los puntos en
los cuales puede estar u&icada la es.uina superior iE.uierda del
cuadrado de lado i son /

(#-#)-(#-9)- ++ -(#-K>i)

(9-#)-(9-9)- ++ -(9-K>i)

++

(K>i-#)- ++ -(K>i-K>i)
ACM STUDENT CHAPTER
*sto .uiere decir .ue tenemos (K>iO9)*(K>iO9)
posi&les es.uinas superiores de cuadrados de lado i+
Por lo .ue %uad(i - K ) M (K > i O9)*(K S i O 9)
*ntonces Q M K*K O (K>9)*(K>9) O ++ 9
ACM STUDENT CHAPTER
*s esta solucion la optimaT
6i Bamos un poco mas
le)os podriamos despe)ar
la sumatoria +
UPero comoT
,a respuesta seria la suma
de areas de estos cuadrados+
ACM STUDENT CHAPTER
6i tomamos la suma de las horiEontales podemos Ber
.ue /
Q M K*9 O (K O K S 9) ++ O (K O K >9 O K >; O K > ? ++ K S K O9)
Q M K*9 O K*; S 9 O +++ O K*K S 9 > ; > ? > V ++ > (K > 9)
ACM STUDENT CHAPTER
ACM STUDENT CHAPTER
ACM STUDENT CHAPTER
ACM STUDENT CHAPTER
1dd or E"en
htt3B99acmic3c")i0e"archi0e.*0a.es9n*e0o3orta)9data93rob)em.3h3C3D!((
ACM STUDENT CHAPTER
-escripcion del #roblema
Padas ; secuencias de numeros /
Peterminar cuantos elementos de la suma de cual.uier
permutacion de : ( cual.uier permutacion de W
necesariamente sern pares+
ACM STUDENT CHAPTER
Solucion
Pados los numeros : ( W /
ACM STUDENT CHAPTER
Por lo tanto podemos separar los numeros en pares e
impares - con los .ue solo tendriamos /
ACM STUDENT CHAPTER
*l numero de sumas necesariamente pares en la suma
de las permutaciones de los Bectores : ( W- es el
numero de sumas pares en el peor de los casos- es
decir- cuando se tiene el ma2imo numero de sumas
impares+
ACM STUDENT CHAPTER
2a3imi4ando

También podría gustarte