Afişează mesaje
Pagini: [1] 2
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 171 Sum : Iulie 07, 2012, 11:08:30
nu inteleg de ce iau 2 tle-uri in plus cand am variabilele long long si nu pe int...imi poate spune cineva?
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 636 Restante : Iulie 02, 2012, 20:35:12
Imi da si mie cineva un test mai mare?Iau 10 puncte si 9 WA...
3  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 858 Perspic : Iunie 24, 2012, 10:39:34
Cum pot afla mai rapid cmmmc din vector? Am incercat cu algoritmul lui euclid dar am luat doar 50 de puncte, apoi cu factorizarea, dar asa iau doar 20...
4  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: 4 carti : Iunie 17, 2012, 22:30:25
@tudor Al doilea jucator vede cele 4 carti cand sunt toate pe masa.

 Embarassed Inseamna ca devine ceva mai complicat....nu ma prind ce ar putea fi...ma dau batut. Poti, te rog, sa-mi trimiti solutia prin mesaj privat? Very Happy
5  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: 4 carti : Iunie 17, 2012, 22:05:48
Pai el are 5 carti din care o alege convenabil cea care poate fi ghicita prin conventia celor doi jucatori...si le pune pe celelalte 4 in asa fel incat al doilea jucator sa-si poata da seama prin conventia aia....cam asta inteleg eu din enunt Very Happy

Da, calculul tau e corect, cam asa m-am gandit si eu, doar ca eu am zis ca el ar putea alege si cartea pe care o va lasa...adica si asta ajuta...in fine, noi trebuie sa gasim acest cod al lor(sau unul dintre ele...poate or fi mai multe)
6  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: 4 carti : Iunie 17, 2012, 22:00:33
Putem stabili o ordine a culorile astfel incat intre oricare 2 carti sa poata fi stabilita o ordine (de exemplu trefla<romb<inima<frunza). Astfel avand 4 carti a,b,c,d putem presupune a<b<c<d.
Atunci pentru culoarea celei de-a 5 carti putem avea 4 configuratii:
a,b,c,d - trefla (toate in ordine crescatoare)
d,c,b,a - romb (toate in ordine descrescatoare)
a,d,b,c - inima (cate 2 in ordine crescatoare)
d,a,b,c - frunza (cate 2 in ordine descrescatoare)

Momentan nu imi dau seama de cum as putea comunica numarul cartii dar voi revenii daca imi vine ceva idee. Smile


Si daca sunt toate cartile de aceeasi culoare?

Pai cartile sunt numerotate. Smile

Eu ma gandesc ca nu e tocmai bine asa, prin ordinea culorilor se poate spune culoarea si prin ordinea numerelor numarul...
Spre exemplu, daca toate cartile sunt de aceeasi culoare, atunci cel de-al doilea jucator va sti automat(se face conventia asta). Dar depinde si de celelalte cazuri...cand sunt 2 de aceeasi culoare si celelalte 3 de o alta culoare, sau cand sunt 2-2-1 pe culori, etc....
7  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: 4 carti : Iunie 17, 2012, 21:53:46
Putem stabili o ordine a culorile astfel incat intre oricare 2 carti sa poata fi stabilita o ordine (de exemplu trefla<romb<inima<frunza). Astfel avand 4 carti a,b,c,d putem presupune a<b<c<d.
Atunci pentru culoarea celei de-a 5 carti putem avea 4 configuratii:
a,b,c,d - trefla (toate in ordine crescatoare)
d,c,b,a - romb (toate in ordine descrescatoare)
a,d,b,c - inima (cate 2 in ordine crescatoare)
d,a,b,c - frunza (cate 2 in ordine descrescatoare)

Momentan nu imi dau seama de cum as putea comunica numarul cartii dar voi revenii daca imi vine ceva idee. Smile

Si daca sunt toate cartile de aceeasi culoare?
8  infoarena - concursuri, probleme, evaluator, articole / Junior Challenge 2012 / Răspuns: Junior Challenge 2012 : Iunie 16, 2012, 15:04:41
Cand apare clasamentul?
9  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 480 Ecuatii 2 : Iunie 04, 2012, 10:13:39
Ma chinui de doua zile sa fac problema asta si tot nu-mi iese... Fighting
Am luat testele de la OJI si pe toate obtin acelasi rezultat ca in .ok...nu inteleg de ce pe infoarena nu iau niciun punct....

Cod:
#include<fstream>
using namespace std;
#include<cstring>
#include<cstdio>
char c[260];
int i,n,numar,x1,x2,s1,s2,t,semn;
int main()
{
ifstream fcin("ecuatii2.in");
FILE *fcout=fopen("ecuatii2.out","w");
fcin>>t;
while(t--)
{
fcin.get();
fcin.get(c,260,'\n');
n=strlen(c);
x1=x2=s1=s2=numar=0;
semn=1;
for(i=0;c[i]!='=';i++)
{
if('0'<=c[i] && c[i]<='9')
numar=numar*10+c[i]-'0';
else
if(c[i]=='x')
if(numar==0)
x1+=semn;
else
x1=x1+semn*numar,numar=0;
else
s1=s1+semn*numar,numar=0;
if(c[i]=='-')
semn=-1;
if(c[i]=='+')
semn=1;
}
s1+=numar*semn;
semn=1;
numar=0;
for(;i<n;i++)
{
if('0'<=c[i] && c[i]<='9')
numar=numar*10+c[i]-'0';
else
if(c[i]=='x')
if(numar==0)
x2+=semn;
else
x2=x2+semn*numar,numar=0;
else
s2=s2+semn*numar,numar=0;
if(c[i]=='-')
semn=-1;
if(c[i]=='+')
semn=1;
}
s2+=numar*semn;
x1-=x2;
s1-=s2;
if(x1==0)
if(s1==0)
fprintf(fcout,"infinit\n");
else
fprintf(fcout,"imposibil\n");
else
if((double)s1/x1==0)
fprintf(fcout,"0.0000\n");
else
fprintf(fcout,"%.4lf\n",(double)-s1/x1);
}
return 0;
}

Later edit: problema era ca puteau fi mai multe spatii pe primul rand dupa ce citeam numarul ecuatiilor....am pus inainte de citirea ecuatiilor fcin.get(asa,100000); si fcin.get() si am luat 100 Winner 1st place
10  infoarena - concursuri, probleme, evaluator, articole / Infoarena Monthly 2012 / Răspuns: Feedback Runda 5 : Mai 29, 2012, 20:42:11
As putea spune ca aceasta a fost cea mai buna runda dintre toate in ceea ce priveste organizarea, enunturile au fost clare si la obiect, felicitari! Very Happy
11  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 685 Pluricex : Mai 29, 2012, 08:19:29
Da, stiam de problema cu combinarile, dar m-a ajutat ideea ta, am luat 90 in prima faza, apoi 100, schimband din nou citirea si scrierea Winner 1st place
Multumesc mult!
12  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 685 Pluricex : Mai 28, 2012, 16:28:10
Am facut un back recursiv cu care am luat initial 70, apoi l-am optimizat pana la 80 si nu stiu ce sa-i mai fac.Am luat sursa oficiala si am trimis-o, dar a luat doar 70.Cred ca ar trebui scazuta limita de timp, dar am vazut ca unii au reusit sa ia suta.Imi puteti spune si mie ce optimizari sa mai fac?(am incercat si sa schimb cititrea, dar degeaba...tot 80):

Cod:
#include<fstream>
using namespace std;
#include<stdio.h>
FILE  *fcin=fopen("pluricex.in","r");
FILE  *fcout=fopen("pluricex.out","w");
int n,s[23],k,u=1,d,m[23][11];
void read()
{
fscanf(fcin,"%d %d %d",&n,&k,&d);
int x,y;
for(int i=1;i<=n;i++)
{
fscanf(fcin,"\n%d ",&x);
for(int j=1;j<=x;j++)
{
fscanf(fcin,"%d ",&y);
m[i][y]=1;
}
}
}
bool bun()
{
int j;
for(int i=1;i<=d;i++)
{
for(j=1;j<=k;j++)
if(m[s[j]][i])
break;
if(j==k+1)
return 0;
}
return 1;
}
void print()
{
for(int i=1;i<=k;i++)
fprintf(fcout,"%d ",s[i]);
fprintf(fcout,"\n");
}
bool cont(int x)
{
for(int i=1;i<x;i++)
if(s[i]==s[x])
return 0;
return 1;
}
void back(int x)
{
if(x==k+1){
if(bun())
print();}
else
for(int i=u;i<=n;i++)
{
s[x]=i;
u=i;
if(cont(x))
back(x+1);
}
}
int main()
{
read();
back(1);
return 0;
}
13  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1005 Telefon : Mai 26, 2012, 19:18:16
eu stiam ca functia .get ignora caracterele '\n' si '\0' si oricum, n-as crede ca doar un test are 10 cifre: Think
14  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1005 Telefon : Mai 26, 2012, 18:42:04
Mi s-a intamplat ceva "straniu" la problema asta:

Cod:
int n,i;
char v[10];
fcin.get(v,10);
n=strlen(v);
...cu asta iau 90,dar daca pun 11 in loc de 10, iau 100

si la testul asta
Cod:
8543013213
S 1 DR 1 A S 1 A ST 1 A S 1 DR 2 A J 3 ST 1 A S 3 ST 1 A DR 2 A ST 1 A ST 1 A DR 2 A J 3
mie imi afisa
Cod:
S 1 DR 1 A S 1 A ST 1 A S 1 DR 2 A J 3 ST 1 A S 3 ST 1 A DR 2 A ST 1 A ST 1 A J 3 DR 2
din cauza ca nu imi citea ultimul 3....care ar putea fi explicatia?
15  infoarena - concursuri, probleme, evaluator, articole / Arhiva Infoarena Monthly / Răspuns: 004 Diagonale : Mai 21, 2012, 21:27:47
Da, acolo era problema, si bineinteles, "greaseala de tipar"  Very Happy (pusesem intr-un for j=2 in loc de j=i...i care la inceput avea valoarea 2 si probabil de aia). Oricum, multumesc pentru ajutor.
16  infoarena - concursuri, probleme, evaluator, articole / Arhiva Infoarena Monthly / Răspuns: 004 Diagonale : Mai 21, 2012, 19:16:41
Eu pic vreo 4 teste din cauza ca e gresit, dar eu am verificat si programul imi calculeaza corect sumele.Ma puteti ajuta?

Cod:
#include<fstream>
using namespace std;
#include<values.h>
long long a[1001][1001];
int main()
{
ifstream fcin("diagonale.in");
ofstream fcout("diagonale.out");
int i,j,n;
long long s,max=-LONG_LONG_MAX;
fcin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
fcin>>a[i][j];
//diagonala principala
s=0;
for(i=1;i<=n;i++)
s+=a[i][i];
if(s>max)
max=s;
//parelelele de deasupra diagonalei principale
for(i=2;i<=n;i++)
{
s=0;
for(j=i;j<=n;j++)
s+=a[j-i+1][j];
if(s>max)
max=s;
}
//parelelele de dedesubtul diagonalei principale
for(i=2;i<=n;i++)
{
s=0;
for(j=2;j<=n;j++)
s+=a[j][j-i+1];
if(s>max)
max=s;
}
//diagonala secundara
s=0;
for(i=1;i<=n;i++)
s+=a[i][n-i+1];
if(s>max)
max=s;
//parelelele de deasupra diagonalei secundare
for(i=1;i<n;i++)
{
s=0;
for(j=1;j<=i;j++)
s+=a[j][i-j+1];
if(s>max)
max=s;
}
//paralelele de deasubtul diagonalei secundare
for(i=2;i<=n;i++)
{
s=0;
for(j=i;j<=n;j++)
s+=a[j][n-j+i];
if(s>max)
max=s;
}
fcout<<max;
return 0;
}
17  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1171 Ec : Aprilie 24, 2012, 15:00:50
Da, asa a fost, multumesc mult.Si pentru ceilalti care iau 97(daca or mai fi Very Happy), in cazul in care ecuatia de gradul intai are a=0 si c-b=0, se considera ca solutia nu apartine tabloului...
18  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1171 Ec : Aprilie 23, 2012, 21:51:24
Testele sunt cele de la ONI?Iau 97 de puncte, doar 7 puncte pe testul 6.Am descarcat testele si imi da solutia corecta pe testul 6...
19  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1096 Qtri : Aprilie 20, 2012, 14:00:42
Inainte faceam cu formula lui Heron cu semiperimetrul.Acum am incercat si a doua varianta de acolo, dar e exact acelasi rezultat.
P.S.:Am modificat si la conditii, a1==a2+a3+a4.
20  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1096 Qtri : Aprilie 20, 2012, 07:05:08
Am incercat sa rezolv problema prin metoda ariilor, dar nu iau decat 60 de puncte(WA pe 7 si 8, respectiv TLE pe 9,10).Rezultatul l-am verificat asa: fie a1 aria triunghiului ABC si a2,a3,a4 ariile triunghiurilor ABD, ACD, respectiv BCD.Conditia era (a2+a3+a4-0.03<=a1 && a1<=a2+a3+a4+0.03).De ce iau WA pe 7 si 8? Si exista vreo metoda mai rapida de a afla daca un punct se afla in interiorul unui triunghi decat metoda ariilor(presupun ca de asta iau TLE pe ultimele doua teste)?
21  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 684 Concurs2 : Aprilie 18, 2012, 20:18:53
Chiar nu am vazut chestia asta Aha.Am sortat fiecare linie a matricei si am luat 100! Winner 1st place Multumesc mult Very Happy
22  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 684 Concurs2 : Aprilie 17, 2012, 19:15:57
Am descarcat testele de la OJI si programul meu afiseaza corect lista elevilor, dar aici fac doar 30 de puncte.Am memorat elevii intr-o matrice m.Partea de program care afiseaza lista este:
Cod:
while(p>0)
{
max1=max2=-1;
for(i=1;i<=maxj;i++)
if(m[i][0]>max1)
{
max2=max1;
poz2=poz1;
max1=m[i][0];
poz1=i;
}
else
if(m[i][0]>max2)
{
max2=m[i][0];
poz2=i;
}
if(max1==max2)
{
fcout<<poz1<<" "<<m[poz1][m[poz1][0]]<<"\n";
m[poz1][0]--;
p-=2;
fcout<<poz2<<" "<<m[poz2][m[poz2][0]]<<"\n";
m[poz2][0]--;
}
else
while(m[poz2][0] || p==1)
{
fcout<<poz1<<" "<<m[poz1][m[poz1][0]]<<"\n";
m[poz1][0]--;
p--;
if(m[poz2][0]>0)
{
fcout<<poz2<<" "<<m[poz2][m[poz2][0]]<<"\n";
m[poz2][0]--;
p--;
}
}
}
23  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 486 Reactivi : Aprilie 16, 2012, 19:28:10
OK...Multumesc de sfaturi si explicatii, dar mai am o intrebare...daca vreau sa sortez vectorul cu mai mult de o dimensiune, trebuie neaparat sa exisiste functia asta?
24  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 486 Reactivi : Aprilie 16, 2012, 17:13:35
Pai, cum se modifica sort-ul daca adaugi cmp-ul ala?Eu daca am
struct vector_dublu{int a;int b;};
si vreau sa sortez doar dupa valoarea a, trebuie sa pun cmp-ul ala?
25  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 486 Reactivi : Aprilie 16, 2012, 11:11:10
Eu am reusit sa iau 100 folosind sortarea aia din STL.Am luat de aici functia aia cmp si nu prea inteleg cum ajuta in sort(v,v+n,cmp).Imi poate explica cineva, va rog?
Pagini: [1] 2
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines