Afişează mesaje
|
Pagini: [1]
|
1
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 799 Fetite
|
: Februarie 18, 2009, 17:37:25
|
modul gasit de mine pt fetite e urmatorul.... am scris in baza 2 numarul de petale si numarul petalei care ramane ultima, dupa cateva exemple ( ex 1 : nr de petale = 5 in baza 2 : 101 -> ultima petala cu nr 1 in baza 2 : 11 ex 2 : nr de petale = 10 in baza 2 : 1010 -> ultima petala cu nr 5 in baza 2 : 101 ex 3 : nr de petale = 13 in baza 2 : 1101 -> ultima petala cu nr 11 in baza 2 : 1011 ) am observat ca in baza 2 numarul cautat are aceeasi forma ca numarul de intrare (nr de petale) doar ca este deplasat cu 1 la stanga si primul bit (bitul cu nr de ordine mai mare) ajungand la coada (bitul cu nr de ordine mai mic) exact ca in operatia ROL 1 (ROtate Left) din asembler cu diferenta ca numarul de biti asupra caeia lucreaza e egal cu numarul de biti ocupati de numarul de intrare
|
|
|
4
|
infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Scandura
|
: Decembrie 14, 2008, 13:52:34
|
Programul asta ce are de nu merge? long l,lpart,efort=0,m,n,i,a,p[1000000],rest; //p este prea mare nu cred ca ai atata memorie for(i=0;i<=m-2;i++) lpart=l-p[n-i]; rest=p[n-m+2]; //aici se introduce un index negativ in interogarea vectorului efort+=rest; n=n-m+1; }
|
|
|
6
|
infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2009 / Răspuns: Scandura
|
: Decembrie 14, 2008, 13:11:33
|
poate cineva sa imi spune ce am gresit de nu a trecut nici un test? codul este #include <fstream> #include <stdio.h>
using namespace std;
int main() { ifstream fin("scandura.in"); ofstream fout("scandura.out"); int n, m, NrBucati=0,i=0; int * bucati; fin>>n; bucati=new int[n]; fin>>m; m--; int LungTotala=0; while (!fin.eof()) { NrBucati++; fin>>bucati[NrBucati]; LungTotala = LungTotala + bucati[NrBucati]; } int cost=0,chop=0,j; for (i=NrBucati;i>1;i=i-m) { cost=cost+LungTotala; if (m>1) { chop = 0; for (j=1;j<=m;j++) { chop=chop + bucati[(i - j)+1]; //printf("chop(%d)",chop); } } else { chop=bucati[i]; } LungTotala=LungTotala-chop; //printf("cutt lt(%d)\n",LungTotala); } //printf("\ncost(%d)",cost); //system("pause"); fout<<cost; return 0; }
|
|
|
|