Mendo Judge Discussion Board - Forums
Search
Recent Topics
Hottest Topics
Member Listing
Back to home page
Messages posted by: Simon74
Forum Index
»
Profile for Simon74
»
Messages posted by Simon74
Author
Message
Задачи од национални натпревари
»
Задача „Сладоледите на Азир“ од државниот, „излезен код различен од 0“
»
Go to message
Аха, добро, фала.
Задачи од национални натпревари
»
Задача „Сладоледите на Азир“ од државниот, „излезен код различен од 0“
»
Go to message
despotovski01 wrote:
Не би можел никој да ти помогне ако не го ставиш остатокот од кодот.
Еве го ставив кодот. Наместо со вектори со вектори, решавав со вектори со стрингови, но пак истиот проблем.
Задачи од национални натпревари
»
Задача „Сладоледите на Азир“ од државниот, „излезен код различен од 0“
»
Go to message
http://mendo.mk/Task.do?id=863
За 6/30 примери ми вади точно, за другите „Излезен код различен од 0“. Што ми е грешката во кодот? Дали го надминува мемориското ограничување? Или имам нешто неиницијализирано? Или?
#include <iostream> #include <vector> #include <algorithm> #include <cmath> #include <cstring> #include <queue> #include <list> #include <stack> #include <string> #include <sstream> #include <iomanip> #include <map> #include <climits> #include <cfloat> #include <cstdlib> #include <set> #include <fstream> #define pb push_back using namespace std; // Finds how many digits has last number in the string int findS(string str) { int s = 0; for (int i = str.size()-1; i >= 0; i--) { if (str[i] == '*') return s; s++; } return 1; } int main() { int n; cin >> n; int N = n; string temp(N+1, '0'); vector <string> iceCream(N+1); vector <string> countVec(N+1, temp); iceCream[0] = "0"; countVec[0] = temp; vector <int> answers; for (int i = 1; i <= n; i++) { // cout << i << ": "; char c; cin >> c; int prev; cin >> prev; iceCream[i] = iceCream[prev]; countVec[i] = countVec[prev]; if (c == 'a') { iceCream[i] = iceCream[i] + "*" + to_string(i); countVec[i][i] = '1'; } else if (c == 'b') { int _s = iceCream[i].size(); int s = findS(iceCream[i]); string str = iceCream[i].substr(_s-s, s); stringstream f(str); int p = 0; f >> p; countVec[i][p] = '0'; answers.pb(p); iceCream[i] = iceCream[i].substr(0, _s-s-1); f.clear(); } else if (c == 'c') { int req; cin >> req; int A = 0; int _i = iceCream[i].size(); int _r = iceCream[req].size(); int iS = findS(iceCream[i]); int iR = findS(iceCream[req]); string iStr = iceCream[i].substr(_i-iS, iS); string rStr = iceCream[req].substr(_r-iR, iR); int iSize = 0, rSize = 0; stringstream f(iStr); f >> iSize; stringstream g(rStr); g >> rSize; for (int j = 1; j <= N+1; j++) { if (countVec[i][j] == '1' && countVec[req][j] == '1') { A++; } } answers.pb(A); f.clear(); g.clear(); } } // cout << endl << "COUNT VEC: " << endl; // for (auto i : countVec) { // cout << i << endl; // } // // cout << endl << "ICE CREAM: " << endl; // for (auto i : iceCream) { // cout << i << endl; // } // // cout << endl << "ANSWERS: " << endl; for (auto i : answers) { cout << i << endl; } return 0; }
Forum Index
»
Profile for Simon74
»
Messages posted by Simon74
Go to:
Select a forum
Добродојдовте!
Општа дискусија
Задачи од национални натпревари
Задачи од меѓународни натпревари
Други задачи
Регионални натпревари
Државни натпревари
Македонски Олимпијади
Други натпревари
Pascal
C/C++
Јава
Други јазици
Powered by
JForum 2.1.8
©
JForum Team