Вы находитесь на странице: 1из 6

ACM

Jimena Vargas Paredes


Estructura de Datos Avanzadas
Ingeniera Inform
atica
Universidad Cat
olica San Pablo

17 de junio de 2012

Indice
1. Wertyu

2. Dice

3. Factors and Factorials

4. Wild Numbers

5. The Trip

6. Contest Score Board

1.

Wertyu

#include <i o s t r e a m >


#include <map>
u s i n g namespace s t d ;
map<char , char> l e t r a s ;
void l l e n a r ( ) {
l e t r a s . i n s e r t ( p a i r <char , char>( W
l e t r a s . i n s e r t ( p a i r <char , char>( E
l e t r a s . i n s e r t ( p a i r <char , char>( R
l e t r a s . i n s e r t ( p a i r <char , char>( T
l e t r a s . i n s e r t ( p a i r <char , char>( Y
l e t r a s . i n s e r t ( p a i r <char , char>( U
l e t r a s . i n s e r t ( p a i r <char , char>( I
l e t r a s . i n s e r t ( p a i r <char , char>( O
l e t r a s . i n s e r t ( p a i r <char , char>( P
l e t r a s . i n s e r t ( p a i r <char , char>( S
l e t r a s . i n s e r t ( p a i r <char , char>( D
l e t r a s . i n s e r t ( p a i r <char , char>( F
l e t r a s . i n s e r t ( p a i r <char , char>( G
l e t r a s . i n s e r t ( p a i r <char , char>( H
l e t r a s . i n s e r t ( p a i r <char , char>( J
l e t r a s . i n s e r t ( p a i r <char , char>( K
l e t r a s . i n s e r t ( p a i r <char , char>( L
l e t r a s . i n s e r t ( p a i r <char , char>( ;
l e t r a s . i n s e r t ( p a i r <char , char>( X

,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,

Q ) ) ;
W ) ) ;
E ) ) ;
R ) ) ;
T ) ) ;
Y ) ) ;
U ) ) ;
I ));
O ) ) ;
A ) ) ;
S ) ) ;
D ) ) ;
F ) ) ;
G ) ) ;
H ) ) ;
J ));
K ) ) ;
L ) ) ;
Z ) ) ;

letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras
letras

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert

(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

p a i r <char , char>( C
p a i r <char , char>( V
p a i r <char , char>( B
p a i r <char , char>( N
p a i r <char , char>( M
p a i r <char , char>( ,
p a i r <char , char>( .
p a i r <char , char>( \
p a i r <char , char>( [
p a i r <char , char>( ]
p a i r <char , char>( 1
p a i r <char , char>( 2
p a i r <char , char>( 3
p a i r <char , char>( 4
p a i r <char , char>( 5
p a i r <char , char>( 6
p a i r <char , char>( 7
p a i r <char , char>( 8
p a i r <char , char>( 9
p a i r <char , char>( 0
p a i r <char , char>(
p a i r <char , char>( =
p a i r <char , char>( /

,
,
,
,
,
,
,

,
,
,
,
,
,
,
,
,
,
,
,
,
,
,

X ) ) ;
C ) ) ;
V ) ) ;
B ) ) ;
N ) ) ;
M ) ) ;
, ));
, ; ));
P ) ) ;
] ));
));
1 ));
2 ));
3 ));
4 ));
5 ));
6 ));
7 ));
8 ));
9 ));
0 ));
) ) ;
. ));

}
s t r i n g d e c i f r a r ( s t r i n g mensaje ) {
s t r i n g tmp ;
f o r ( int i = 0 ; i < mensaje . s i z e ( ) ; i ++){
i f ( l e t r a s [ mensaje [ i ] ] )
tmp . append ( 1 , l e t r a s [ mensaje [ i ] ] ) ;
else {
tmp . append ( 1 , mensaje [ i ] ) ;
}
}
return tmp ;
}
int main ( ) {
llenar ();
string str ;
while ( c i n >>s t r )
{
cout<< d e c i f r a r ( s t r )<<e n d l ;
}
return 0 ;
}

2.

Dice

#include <i o s t r e a m >


#include <v e c t o r >
u s i n g namespace s t d ;
void d i c e ( v e c t o r <int> & vec , int & even , int & odd ) {
int s i z e = vec . s i z e ( ) ;
f o r ( int i = 0 ; i < s i z e ; ++i ) {
2

i f ( vec [ i ] %2) even++;


e l s e odd++;
}
}
void f u n c t i o n ( v e c t o r <int> & vec , s t r i n g nombre1 , s t r i n g nombre2 ,
s t r i n g choose ){
int even = 0 ;
int odd = 0 ;
d i c e ( vec , even , odd ) ;
i f ( c h o o s e == even )
c o u t << nombre1 << << even << << nombre2 << << odd << e n d l ;
else
c o u t << nombre1 << << odd << << nombre2 << << even << e n d l ;
}
int main ( ) {
int even = 0 ;
int odd = 0 ;
s t r i n g name1 ;
c i n >> name1 ;
while ( name1 != 0 ) {
v e c t o r <int> vec ;
s t r i n g name2 , c h o o s e ;
c i n >> name2 >> c h o o s e ;
int l a n z s = 0 ;
c i n >> l a n z s ;
f o r ( int i = 0 ; i < l a n z s ; ++i ) {
int tmp = 0 ;
c i n >> tmp ;
vec . push back ( tmp ) ;
}
f u n c t i o n ( vec , name1 , name2 , c h o o s e ) ;
c i n >> name1 ;
}
return 1 ;
}

3.

Factors and Factorials

#include<i o s t r e a m >
#include<c s t d i o >
#include<c s t d l i b >
u s i n g namespace s t d ;
int primos [ 2 6 ] = { 2 , 3 , 5 , 7 , 1 1 , 1 3 , 1 7 , 1 9 , 2 3 , 2 9 , 3 1 , 3 7 , 4 1 , 4 3 , 4 7 , 5 3 , 5 9 , 6 1 , 6 7 , 7 1 , 7 3 , 7 9 , 8 3 , 8 9 , 9 7 , 1
int main ( ) {
int num , j , p ;
int f a c t o r [ 2 5 ] ;
while ( c i n >>num && num) {
f o r ( int i = 0 ; primos [ i ]<=num ; i ++){
j=primos [ i ] , p=0;
while (num/ j >=1){
p=p+num/ j ;
j =primos [ i ] ;
}
f a c t o r [ i ]=p ;
3

}
c o u t << num << ! = ;
f o r ( int i = 0 ; primos [ i ]<=num ; i ++)
c o u t << f a c t o r [ i ] << ;
c o u t << e n d l ;
}
exit (0);
}

4.

Wild Numbers

#include
#include
#include
#include
#include

<i o s t r e a m >
<v e c t o r >
<math . h>
<s t d i o . h>
< s t d l i b . h>

u s i n g namespace s t d ;
s t r i n g f i l l N u m ( s t r i n g & s t r , char num , int & numq) {
int s i z e = s t r . s i z e ( ) ;
s t r i n g stmp = s t r ;
f o r ( int i = 0 ; i < s i z e ; ++i )
i f ( stmp [ i ] == ? ) {
stmp [ i ] = num ;
numq++;
}
return stmp ;
}
int f u n c ( s t r i n g W, s t r i n g X) {
int numq = 0 ;
s t r i n g stmp = f i l l N u m (W, 0 ,numq ) ;
int numX = a t o i (X. c s t r ( ) ) ;
i f ( a t o i ( stmp . c s t r ( ) ) > numX)
return pow ( 1 0 , numq ) ;
stmp = f i l l N u m (W, 9 , numq ) ;
i f ( a t o i ( stmp . c s t r ( ) ) < numX)
return 0 ;
int s i z e = W. s i z e ( ) ;
int e x p e c t e d = 0 ;
// i n t
f o r ( int i = 0 ; i < s i z e ; ++i ) {
i f (W[ i ] )
}
int main ( ) {
/ s t r i n g tmp = 3 6 11 3 8 ;
i n t num = a t o i ( tmp . c s t r ( ) ) ; /
c o u t << num ;
return 1 ;
}

5.

The Trip

#include <i o s t r e a m >


#include <s t d i o . h>
4

u s i n g namespace s t d ;

int main ( ) {
long e s t u d i a n t e s ;
double sumTotal ;
double exchange ;
double equalizedAmount ;
double d i f f ;
double sumMenos ;
double sumMas ;
while ( s c a n f ( %l d , &e s t u d i a n t e s ) != EOF) {
if (! estudiantes ) {
return 0 ;
}
double amountSpent [ e s t u d i a n t e s ] ;
sumTotal = 0 ;
sumMenos = 0 ;
sumMas = 0 ;
f o r ( int i = 0 ; i < e s t u d i a n t e s ; i ++) {
s c a n f ( %l f \n , &amountSpent [ i ] ) ;
sumTotal += amountSpent [ i ] ;
}
equalizedAmount = sumTotal / e s t u d i a n t e s ;
f o r ( int i = 0 ; i < e s t u d i a n t e s ; i ++) {
d i f f = ( double ) ( long ) ( ( amountSpent [ i ] equalizedAmount ) 1 0 0 . 0 ) / 1 0 0 . 0 ;
i f ( d i f f < 0) {
sumMenos += d i f f ;
} else {
sumMas += d i f f ;
}
}
exchange = (sumMenos > sumMas ) ? sumMenos : sumMas ;
p r i n t f ( $ %.2 l f \n , exchange ) ;
}
return 0 ;
}

6.

Contest Score Board

#include<s t d i o . h>
#include<s t d l i b . h>
#include<s t r i n g . h>
#define s 102
struct team{
long int i d ;
long int t s p ;
long int pt ;
bool f l a g ;
b o o l acpn [ 1 0 ] ;
}a [ s ] ;
int c o m p a r e f u n c t i o n ( const void p , const void q ) {
struct team x = ( struct team ) p ;
struct team y = ( struct team ) q ;
i f ( x>t s p != y>t s p )
return ( y>t s p x>t s p ) ;
i f ( x>pt != y>pt )
5

return ( x>pt y>pt ) ;


return ( x>i d y>i d ) ;
}
int main ( ) {
long int i , j =0, tn , pn , r t , n ;
char ch , s t r [ s ] ;
int l a r g e i d =0;
long int t [ s ] [ 1 0 ] = { 0 } ;
s c a n f ( %l d \n ,&n ) ;
f o r ( i =0; i <n ; i ++){
l a r g e i d =0;
while ( 1 ) {
gets ( str ) ;
i f ( s t r l e n ( s t r )==0)
break ;
s s c a n f ( s t r , %l d %l d %l d %c \n ,& tn ,&pn,& r t ,& ch ) ;
a [ tn ] . f l a g =1;
a [ tn ] . i d=tn ;
i f ( tn>=l a r g e i d )
l a r g e i d=tn +1;
i f ( ch==R | | ch==U | | ch==E )
continue ;
i f ( ch==C && ! a [ tn ] . acpn [ pn ] ) {
a [ tn ] . t s p +=1;
t [ tn ] [ pn]+= r t ;
a [ tn ] . pt=a [ tn ] . pt+t [ tn ] [ pn ] ;
a [ tn ] . acpn [ pn ] = 1 ;
}
else {
a [ tn ] . f l a g =1;
t [ tn ] [ pn]= t [ tn ] [ pn ] + 2 0 ;
}
strcpy ( str , ) ;
}
q s o r t ( a , l a r g e i d , s i z e o f ( struct team ) , c o m p a r e f u n c t i o n ) ;
f o r ( j =0; j<=l a r g e i d ; j ++){
i f ( a [ j ] . f l a g ==1){
p r i n t f ( %l d %l d %l d \n , a [ j ] . id , a [ j ] . tsp , a [ j ] . pt ) ;
a [ j ] . t s p =0;
a [ j ] . i d =0;
a [ j ] . f l a g =0;
a [ j ] . pt =0;
}
f o r ( int o =1;o <10; o++){
t [ j ] [ o ]=0;
a [ j ] . acpn [ o ] = 0 ;
}
}
i f ( ( i +1)!=n )
p r i n t f ( \n ) ;
}
return 0 ;
}

Вам также может понравиться