-
Fototrend

Új hozzászólás Aktív témák
-
Joooe
tag
válasz
Radíros
#2401
üzenetére
Nem az input benyalása a megoldás asszem, elvileg megfelelő pufferrelést séróból meg kéne hogy oldja egyszeri folyamatos végigolvasás esetén.
Maga az is műveletigényes egy kicsit, hogy a szöveges formában tárolt számokból összeállítani az inteket.
De érdekes, ezt tudja valaki miért lehet lassabb?
<fstream>-mel:
ifstream be;
be.open(''be.txt'');
int n,m,p;
be >> n;
be >> m;
be >> p;
p--;
int honnan, hova;
for (int i=0; i<m; i++)
{
be >> honnan;
be >> hova;
honnan--;
hova--;
// itt csinálunk valamit
}
be.close();
<stdio.h>-val:
int n,m,p;
FILE* be = fopen(''be.txt'',''rt'');
fscanf(be,''%d %d %d'',&n,&m,&p);
p--;
int honnan, hova;
for (int i=0; i<m; i++)
{
fscanf(be,''%d %d'',&honnan, &hova);
honnan--;
hova--;
// itt csinálunk valamit
}
fflush(be);
fclose(be);
Az utóbbi kb. fele-haramada idő alatt végez egy 1 megás szövegfájllal.
Nem nagyon szoktam STL filekezelést használni, gondolom ennyire nyomorék nem lehet, mit szúrok el?
[Szerkesztve] -
Joooe
tag
válasz
Radíros
#2395
üzenetére
''Visszavonom!!!
10000 csúcssal és 64 bit gépi szószélességgel számolva:
157 * 10^8 * 14 ~ 300 GHz-es proci kellene 1mp futásidőhöz
(szekvenciálisan, csővezeték és cimzésműveletek elhanyagolva)''
Valószínűleg pontatlanul idézte a feladatot a kérdező, és csak egy konkrét csúcson átmenő köröket kell vizsgálni.Így nincs szükség a teljes tranzitív lezárt meghatározására.
Ezt azért gonodlom, mert én is egy hasonló feladatot csináltam (na nem magamnak, hál'isten az alga csak a távoli múltból dereng már nekem
)
Az algoritmus érdemi részének futási idejét sikerült olyan 0,015 s-re csökkenteni ezzel a módszerrel még a leghúzósabb inputokon is. (AMD 3200 procin, párhuzamosítás nélkül)
Ami viszont iskolai szivatás a dologban: bizonyos teszt inputok esetén ha semmi mást nem csinál a program, csak kb. be >> szam; módszerrel standard folyamműveletekkel végigolvassa az inputot (De ezen kívül tényleg semmit nem csinál, nem konstruál gráfot, nem vizsgál feltételeket, stb.) már az kifut a futási időlimitből az inputok egy részén
[Szerkesztve]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Futás, futópályák
- Víz- gáz- és fűtésszerelés
- Mozilla Firefox
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen billentyűzetet vegyek?
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- Diablo IV
- Revolut
- AliExpress tapasztalatok
- További aktív témák...
- Eladó Független Samsung Galaxy S23 SM-S911B/DS apró hibával
- 16GB DDR4 3200Mhz ram
- Supra LoRad 2.5 Silver Anniversary edition 1,5 m
- HP EliteBook 840 G7 i5-10310U - TOUCH 16GB RAM 256GB NVMe világítós billentyűzet, üzleti laptop
- Philips 34" 34M2C3500L/00 WQHD VA 180Hz HDMI/DP ívelt gamer monitor (019)
- Samsung Galaxy Z Fold 6 12/512GB - Újszerű, Független, Ezüst - 1 év garanciával
- HP ElitBook 840 G10 netbook / 12 hónap jótállás
- BESZÁMÍTÁS! Sapphire Nitro+ AMD RX 7900 XTX 24GB videokártya garanciával hibátlan működéssel
- Powerbank Anker Prime, 20100mAh, 220W, QC + PD, Fekete A110BH11
- Apple iPhone SE 2022 64GB - Kártyafüggetlen, Éjfekete, 91% Akku - 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

)

)