giovedì 30 gennaio 2014

[C++] Colore

Gianni ha N palline, disposte in fila, numerate da 1 a N. Queste palline sono speciali,
perchè sono colorate o di nero o di bianco. In particolare la pallina i sarà bianca se
A[i] = 0 e sarà nera se A[i] = 1. Gianni ha in mente un numero K. Questo numero K è
particolare, perchè divide N (cioè la divisione N / K ha resto 0). Gianni ha a
disposizione tantissima vernice nera e bianca, ma è molto pigro. Si definisca come
distanza tra due palline i,j il valore assoluto della differenza della posizione della
pallina i e della pallina j. Si vuole che se due palline hanno distanza K, allora siano
dello stesso colore. Qual è il numero minimo di palline che Gianni deve colorare per
soddisfare suddetta condizione?

Input (input.txt)
La prima riga dell'input consiste in due numeri, N e K, separati da uno spazio. La
seconda riga dell'input consiste in una sequenza di N numeri, cioè i valori di A[0],
A[1], ..., A[N].

Output (output.txt)
Il file di output dovrà contenere esattamente un numero, il numero minimo di palline
da colorare.
input.txt                                     output.txt
10 2                                           3
1 0 1 1 0 1 1 0 1 1

SOLUZIONE
Partendo da un punto (0) si salta k palline e si contano  quante sono nere e quante sono bianche. Il valore minimo fra bianche e nere è il numero minimo di palline da colorare di quella serie. Sommando i minimi di tutte le serie si ottiene il minor numero di palline da colorare:

[C++] Gara

C'è una gara di corsa in città. A partecipare a questa gara ci sono N persone. La gara
viene svolta in un rettilineo ("infinito"). Tutti i corridori corrono nella stessa
direzione. I partecipanti sono numerati da 1 a N. La gara non è completamente equa.
Infatti ogni partecipante non parte dallo stesso punto, ma ha un vantaggio di un certo
numero di metri (considerato rispetto al punto di partenza). Si consideri il vettore A,
A[i] denota il vantaggio in metri del partecipante numero i. Inoltre non ogni
partecipante della corsa procede alla stessa velocità. In particolare il partecipante con
numero i correrà con una velocità di B[i], espressa in metri per unità di tempo.
Vengono dati in input M valori di tempo, dire per ogni valore di tempo fornito in
input qual è il partecipante che si trova in vantaggio, ovvero più distante dal punto di
partenza, considerando che corra con una velocità costante (se più partecipanti si
trovano alla stessa distanza dalla partenza, considerare quello con numero più
piccolo).

Input (input.txt)
La prima riga dell'input contiene due numeri, N e M, separati da uno spazio.
La riga successiva contiene N numeri separati da uno spazio, cioè i valori di A[1],
A[2], ... , A[N].
La riga successiva contiene N numeri separati da uno spazio, cioè i valori B[1],
B[2], ..., B[N].
L'ultima riga dell'input contiene M numeri, separati da uno spazio, gli M valori di
tempo per cui si dovrà computare una risposta come descritto dal testo del problema.

Output (output.txt)
Il file di output dovrà contenere esattamente M righe. Data la sequenza degli M
valori di tempo, si stampi per ogni riga il numero del giocatore che si trova in
vantaggio (seguendo la consegna del testo del problema).

input.txt       output.txt
2 2               1 2
1 0
4 6
0 1


SOLUZIONE
 Per ogni valore di tempo si calcola la distanza di arrivo, poi si terrà conto della distanza massima.


[C++] Salto

Un clown si diverte a saltare. Ha a disposizione N blocchi. I blocchi sono numerati da
1 a N. Il blocco i ha un'altezza di A[i]. Si definisce come difficoltà del salto la
differenza di altezza tra due blocchi (il valore può essere sia negativo che positivo,
negativo se si salta verso il basso, positivo se si salta verso l'alto). Qual è il valore del
salto con difficoltà maggiore, potendo scegliere liberamente due blocchi?

Input (input.txt)
La prima riga dell'input contiene un singolo valore N.
La seconda riga dell'input contiene N valori, separati da uno spazio, cioè i valori
A[1], A[2],..., A[N].

Output (output.txt)
Il file di output dovrà contenere esattamente un numero, cioè il valore del salto con
difficoltà maggiore.

input.txt   output.txt
5            6
5 1 6 3 7 

SOLUZIONE
 Il salto più difficile è quello fra la pedana con punteggio minore e quella con punteggio maggiore.


[C++] Magia

Un numero si dice magico se composto da 1, 14, 144 combinati anche più volte in modo casuale.
Il programma prende un numero e ritorna YES se è magico, altrimenti NO

esempi:
1441414411 ->YES
1514 -> NO
14444 -> NO



giovedì 9 gennaio 2014

DE Survey

Piccolo sondaggio sui DE di Linux, il sondaggio durerà per un lungo periodo di tempo e può essere compilato più volte. I risultati possono essere visti qui.

Versioni di Ubuntu

Cosa curiosa è che il numero delle versioni di Ubuntu non è casuale o incrementato, ma indica l' anno e il mese di uscita della versione ufficiale (anno.mese), e il  nome? Il nome è sempre composto da un aggettivo e un nome di animale che inziziano con la stessa lettera, e dalla 6.06 (Dapper Drake) vanno in ordine alfabetico:


Versione
Nome
Rilascio
4.10
Warty Warthog (Facocero Verrucoso)
20 ottobre 2004
5.04
Hoary Hedgehog (Riccio Veterano)
8 aprile 2005
5.10
Breezy Badger (Tasso Arioso)
12 ottobre 2005
6.06 LTS
Dapper Drake (Papero Signorile)
1º giugno 2006
6.10
Edgy Eft (Tritone Tagliente)
26 ottobre 2006
7.04
Feisty Fawn (Cerbiatto Esuberante)
19 aprile 2007
7.10
Gutsy Gibbon (Gibbone Coraggioso)
18 ottobre 2007
8.04 LTS
Hardy Heron (Airone Audace)
24 aprile 2008
8.10
Intrepid Ibex (Stambecco Intrepido)
30 ottobre 2008
9.04
Jaunty Jackalope(Lepre cornuta Disinvolta)
23 aprile 2009
9.10
Karmic Koala (Koala Karmico)
29 ottobre 2009
10.04 LTS
Lucid Lynx (Lince Lucida)
29 aprile 2010
10.10
Maverick Meerkat (Suricato Indipendente)
10 ottobre 2010
11.04
Natty Narwhal (Narvalo Elegante)
28 aprile 2011
11.10
Oneiric Ocelot (Gattopardo Onirico)
13 ottobre 2011
12.04 LTS
Precise Pangolin (Pangolino Preciso)
26 aprile 2012
12.10
Quantal Quetzal (Quetzal Quantico)
18 ottobre 2012
13.04
Raring Ringtail (Lemure Impaziente)
25 aprile 2013
13.10
Saucy Salamander (Salamandra Impertinente)
17 ottobre 2013
14.04
Trusty Tahr (Capra Affidabile)
17 aprile 2014



mercoledì 8 gennaio 2014

CAD per Linux

- no title specified
CAD per Linux
-Free Cad
-Blender Cad
-Medusa
FREE CAD [OPEN SOURCE]
Linux -  Mac -  Windows
CAD 3D parametrico.
Formati file:FCStd, IGES, STEP e B-Rep.
Installazione su linux (tramite apt-get):
        sudo apt-add-repository ppa:freecad-maintainers/freecad-stable -y
        sudo
apt-get update -y
        sudo apt-get install freecad -
y
BLENDERCAD [OPEN SOURCE]
Linux -  Mac -  Windows
Script per Blender: CAD 3D parametrico per architettura.
Formati file:3DS, DAE, FBX, DXF, OBJ, x, LWO, BVH, SVG, Stanford PLY, STL, VRML, VRML97, X3D.
Installazione su linux (tramite apt-get):
                        sudo add-apt-repository ppa:fkrull/deadsnakes -y
                        sudo apt-get update -y
                        sudo apt-get install python2.6 python2.6-dev -y
                        sudo ln -s /usr/lib/libgettextlib.so /usr/lib/libgettextlib-0.17.so
                        sudo ln -s /usr/lib/i386-linux-gnu/libtiff.so.4 /usr/lib/libtiff.so
                        sudo apt-get install libjpeg62:i386 -y
                       
sudo apt-get install libalut0 -y
                       
sudo apt-get install blender -y
solo su 64 bit:        sudo apt-get install ia32-libs  -y
-scarica http://graphicall.org/239/download
-scompatta ***_blender-*.***-cad-32bit-********.tar.bz2 nella Home e rinominalo in .BC (estratto sarà una cartella di nome linux2).
        ~/.BC/blendr
NOTA: Potrebbe non funzionare su tutti i processori 64bit.
MEDUSA [OPEN SOURCE]
Linux - Windows
CAD 3D parametrico per uso personale.
Formati file:she, DXF.
Installazione:

sabato 4 gennaio 2014

Aggiungere MIME ad Apache su Linux

1) Installare XAMMP (32bit, 64bit)

2) Apri /opt/lampp/etc/mime.types come amministratore (esempi:)
sudo nano /opt/lampp/etc/mime.types 
sudo gedit /opt/lampp/etc/mime.types 

3) Aggiungi il tuo mime  come "MIME       estensione" (se devi aggiungere il supporto per i vettoriali:
image/svg+xml svg    )

4) Per avviare XAMMP: sudo /opt/lampp/lampp start