Afişează mesaje
|
Pagini: [1]
|
1
|
infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2019 / Răspuns: Tablou
|
: Martie 03, 2019, 12:33:29
|
Stiu ca am intrebat si la o alta problema despre rezultatele partiale,dar in acest caz imi afiseaza 100 de puncte in timp ce la cealalta proplema cu clonele lui mihai am luat 10.Rezultatele partiale reprezinta scorul pe care l-am obtinut la o problema(adica evaluarea tuturor testelor si adunarea punctajelor de pe teste)?
|
|
|
8
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 008 Cifra
|
: Aprilie 13, 2018, 21:46:52
|
#include <iostream> #include <fstream> #include <math.h> #include <string.h> #include <stdlib.h> using namespace std; ifstream f("cifra.in"); ofstream g("cifra.out"); int T,P[]={0,1,5,2,8,3,9,2,8,7},lg; int I[]={0,1,7,0,6,1,7,4,8,7}; long S,cat; char Numar[1000001][105],caracter,caracter1;
int main() { f>>T; for(int i=1;i<=T;i++) { f.get(); f.get(Numar,105); lg=strlen(Numar); S=0; caracter=Numar[lg-2]; caracter1=Numar[lg-1]; if(((atoi(&caracter)/10)%10)%2==0) { S+=2*((atoi(&caracter)/10)%10); S+=P[atoi(&caracter1)]; } else { S+=2*(((atoi(&caracter)/10)%10)-1)+7; S+=I[atoi(&caracter1)]; } g<<S%10<<'\n'; } return 0; } Uitati-va va rog mult la acerst cod.L-am testat cu alte coduri de 100 de puncte si rezultatele mi le da la fel,Dar cand il dau la evaloare iau 0 puncte.Nu stiu unde gresesc.
|
|
|
12
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 114 Muzeu
|
: Ianuarie 21, 2018, 20:08:26
|
Ma poate ajuta cineva!Am folosit Lee,dar mai mult de 30 puncte nu obtin deoarece raspunsul e incorect. #include <fstream> #include <queue> #include <iostream> using namespace std; ifstream f("muzeu.in"); ofstream g("muzeu.out"); int OK(); int n,k=0,dl[]={0,1,-1,0,0},dc[]={0,0,0,1,-1},M[251][251],x,y,x1,y1; char litera; queue <pair <int,int> > Q; pair <int,int> P[251]; void Citire() { f>>n; f.get(); for(int i=0;i<n;i++) for(int j=0;j<n;j++) { f.get(litera); if(litera=='P') { Q.push(make_pair(i+1,j+1)); k++; } else if(litera=='#') M[i+1][j+1]=-2; if(j==n-1) {f.get(); } } } void Lee() { int l=0; while(!Q.empty()) { x=Q.front().first; y=Q.front().second; l++; Q.pop(); for(int i=1;i<=4;i++) { x1=x+dl ; y1=y+dc; if(OK()!=0&&M { M[x1][y1]=M Q.push(make_pair(x1,y1)); } } if(l<=k) M } }
int OK() { if(M[x1][y1]!=0&&(x1>=1&&y1>=1&&x1<=n&&y1<=n)&&M[x1][y1]!=-2&&M return 1; if(M[x1][y1]==0&&(x1>=1&&y1>=1&&x1<=n&&y1<=n)) return 1; return 0; }
int main() { Citire(); Lee(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { if(M[j]==0) M[j]=-1; if(M[j]==-3) M[j]=0; if(j<n) g<<M[j]<<" "; if(j==n) { g<<M[j]; g<<'\n'; } } return 0; }
|
|
|
13
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 114 Muzeu
|
: Ianuarie 21, 2018, 20:07:44
|
Ma poate ajuta cineva!Am folosit Lee,dar mai mult de 30 puncte nu obtin deoarece raspunsul e incorect. #include <fstream> #include <queue> #include <iostream> using namespace std; ifstream f("muzeu.in"); ofstream g("muzeu.out"); int OK(); int n,k=0,dl[]={0,1,-1,0,0},dc[]={0,0,0,1,-1},M[251][251],x,y,x1,y1; char litera; queue <pair <int,int> > Q; pair <int,int> P[251]; void Citire() { f>>n; f.get(); for(int i=0;i<n;i++) for(int j=0;j<n;j++) { f.get(litera); if(litera=='P') { Q.push(make_pair(i+1,j+1)); k++; } else if(litera=='#') M[i+1][j+1]=-2; if(j==n-1) {f.get(); } } } void Lee() { int l=0; while(!Q.empty()) { x=Q.front().first; y=Q.front().second; l++; Q.pop(); for(int i=1;i<=4;i++) { x1=x+dl ; y1=y+dc; if(OK()!=0&&M { M[x1][y1]=M Q.push(make_pair(x1,y1)); } } if(l<=k) M } }
int OK() { if(M[x1][y1]!=0&&(x1>=1&&y1>=1&&x1<=n&&y1<=n)&&M[x1][y1]!=-2&&M return 1; if(M[x1][y1]==0&&(x1>=1&&y1>=1&&x1<=n&&y1<=n)) return 1; return 0; }
int main() { Citire(); Lee(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { if(M[j]==0) M[j]=-1; if(M[j]==-3) M[j]=0; if(j<n) g<<M[j]<<" "; if(j==n) { g<<M[j]; g<<'\n'; } } return 0; }
|
|
|
|