[»] C++ uzduotis
0.0226
*Ferrerito:
Nu taip. Ten sudėtingiau.
[*]12.11.25|13:44|
-Bartas:
Tai man atrodo irgi , kad tiks. :D Tik va man paciam dar yra daug kur mokintis :D. O va gruodzio men varysim į antrą etapą tos olimpiados tai sako dar rimčiau bus. :xe:
[*]12.11.23|21:59|
*Ferrerito:
Kad geriau suprastum gali ant popieriaus pasimėgint kelis variantus, manau kad turėtų tikti :D
[*]12.11.23|20:34|
-bartas:
Dėkui ryt bandysiu perdaryt tada ir pasakysiu ar gavos pagaliau.
[*]12.11.23|20:33|
*Ferrerito:
Jei turim T=200, tai gaunam minimalų 50. Maksimalų 57. Jei N yra mažiau arba lygu už 50, reiškia pakels. Jei daugiau arba lygu už 57, nepakels. Jei per vidurį, tada neaišku
Redaguotas: 11.23 20:34
[*]12.11.23|20:33|
*Ferrerito:
Taip apskaičiavę min ir max pagal prasmę turim: if(N>=minimalus_kiekis), vadinasi return -1. Kitu atveju jei N<=max, tai 1. Dar kitu atveju 0.
[*]12.11.23|20:29|
*Ferrerito:
Kai žinom b rėžius [0; T/7] vadinasi įstatom į a+b radimo formulę (T+b)/4 ir ieškodami minimalaus žmonių kiekio norim, kad kuo mažiau būtų uždengtų (nes žmonės užimantys 4 langelius užima daugiau ploto ir jų reikia mažiau). Vadinasi imam b=0, jei (T+b)%4 !=0, tada bandom b=1, 2 ir t.t. kol dalinsis (T+b) iš 4 be liekanos. Kai reikia max kiekio - (T+b) statom maksimalų (natūralų sk, žmonės nebūna trečdalis žmogaus!) b pradedant maksimaliu žemyn kol gausim, kad (T+b)%4==0.
[*]12.11.23|20:27|
-bartas:
Ai nemačiau kitų dviejų postų. D:
[*]12.11.23|20:25|
-bartas:
Suprantu kur lenki , bet man poto istačius 8 ir 2 reikia , kad išvestu 1 , istačius 14 ir 3 išvestu -1 ir istačius 200 ir 52 išvestų 0.
[*]12.11.23|20:24|
*Ferrerito:
Išsireiškiam a=(T-3b)/4.... b=(T-4a)/3... a+b: (T-4a)/3+a=(T-a)/3.... Arba kitaip a+b: (T-3b)/4+b=(T+b)/4... Dar pastebim, kad a>=b, vadinasi (T-4a)/3<=a... (T-3b)/4>=b... Gavome a>=T/7 ir b<=T/7 tai šioks toks geras apribojimas. Ir pildo sąlygą a>=b
[*]12.11.23|20:23|
---
^ Programavimas
« Forumas
« Pagrindinis
---