답안 #1005397

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1005397 2024-06-22T11:58:02 Z YassineBenYounes Homework (CEOI22_homework) C++17
10 / 100
626 ms 14564 KB
#include<bits/stdc++.h>
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef double db;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define pbds tree<int, null_type, less<int>,rb_tree_tag, tree_order_statistics_node_update>
using namespace __gnu_pbds;
ll gcd(ll a , ll b) {return b ? gcd(b , a % b) : a ;} // greatest common divisor (PGCD)
ll lcm(ll a , ll b) {return (a * b) / gcd(a , b);} // least common multiple (PPCM)
int dx[8] = {1, 0, 0, -1, 1, 1, -1, -1};
int dy[8] = {0, 1, -1, 0, 1, -1, -1, 1};
#define endl "\n"
#define ss second
#define ff first
#define all(x) (x).begin() , (x).end()
#define pb push_back
#define vi vector<int>
#define vii vector<pair<int,int>>
#define vl vector<ll>
#define vll vector<pair<ll,ll>>
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pdd  pair<double,double>
#define vdd  vector<pdd>
#define speed ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
////////////////////Only Clear Code//////////////////////////

void usaco_problem(){
    freopen("milkvisits.in", "r", stdin);
    freopen("milkvisits.out", "w", stdout);
}

void init(){
    #ifndef ONLINE_JUDGE
 
freopen("input.txt", "r", stdin);
 
freopen("output.txt", "w", stdout);
 
#endif // ONLINE_JUDGE
}
//#define int ll
const int mx = 2e5+5;
const int LOG = 25;
const int inf = 1e9;
const ll mod = 998244353;

int solve(string s){
    if(s[0] != 'm'){
        string s5{s[0]};
        return stoi(s5);
        return 0;
    }    
    int cur = 1;
    string s1 = "";
    bool sec = 0;
    string s2 = "";
    for(int j = 4; j < s.size();j++){
        if(s[j] == '(')cur++;
        if(s[j] == ')')cur--;
        if (cur == 0)break;
        if(cur == 1 && s[j] == ','){
            sec = 1;
        }
        else if(!sec){
            s1 += s[j];
        }
        else if(sec){
            s2 += s[j];
        }
    }
    if(s[1] == 'i'){
        return min(solve(s1), solve(s2));
    }
    else{
        return max(solve(s1), solve(s2));
    }
}

bool done[10];

bool achieve[10];

string s;int n = 0;
void generate(int ind){
    while(ind < s.size() && s[ind] != '?'){
        ind++;
    }
    if(ind == s.size()){
        //cout << s << endl;
        achieve[solve(s)] = 1;
        return;
    }
    for(char c = '1'; c <= char(n + '0');c++){
        string s5{c};
        if(!done[stoi(s5)]){
            s[ind] = c;
            done[stoi(s5)] = 1;
            generate(ind+1);
            done[stoi(s5)] = 0;
            s[ind] = '?';
        }
    }
}

void run_case(){
    cin >> s;
    for(char c : s){
        if(c == '?')n++;
    }
    generate(0);
    int ans = 0;
    for(int i = 1; i <= n;i++){
        ans += achieve[i];
    }
    cout << ans << endl;
}

int main(){
    speed;
    int t = 1;
    //cin >> t;
    while(t--){
        run_case();
    }
}

/*
    NEVER GIVE UP!
    DOING SMTHNG IS BETTER THAN DOING NTHNG!!!
    Your Guide when stuck:
    - Continue keyword only after reading the whole input
    - Don't use memset with testcases
    - Check for corner cases(n=1, n=0)
    - Check where you declare n(Be careful of declaring it globally and in main)
*/

Compilation message

Main.cpp: In function 'int solve(std::string)':
Main.cpp:61:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   61 |     for(int j = 4; j < s.size();j++){
      |                    ~~^~~~~~~~~~
Main.cpp: In function 'void generate(int)':
Main.cpp:89:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   89 |     while(ind < s.size() && s[ind] != '?'){
      |           ~~~~^~~~~~~~~~
Main.cpp:92:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   92 |     if(ind == s.size()){
      |        ~~~~^~~~~~~~~~~
Main.cpp: In function 'void usaco_problem()':
Main.cpp:32:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   32 |     freopen("milkvisits.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:33:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   33 |     freopen("milkvisits.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp: In function 'void init()':
Main.cpp:39:8: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   39 | freopen("input.txt", "r", stdin);
      | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:41:8: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   41 | freopen("output.txt", "w", stdout);
      | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 496 ms 428 KB Output is correct
2 Correct 443 ms 344 KB Output is correct
3 Correct 440 ms 432 KB Output is correct
4 Correct 450 ms 344 KB Output is correct
5 Correct 407 ms 344 KB Output is correct
6 Correct 496 ms 428 KB Output is correct
7 Correct 475 ms 344 KB Output is correct
8 Correct 501 ms 348 KB Output is correct
9 Correct 484 ms 432 KB Output is correct
10 Correct 472 ms 344 KB Output is correct
11 Correct 455 ms 348 KB Output is correct
12 Correct 481 ms 432 KB Output is correct
13 Correct 448 ms 344 KB Output is correct
14 Correct 481 ms 348 KB Output is correct
15 Correct 518 ms 432 KB Output is correct
16 Correct 600 ms 348 KB Output is correct
17 Correct 574 ms 344 KB Output is correct
18 Correct 626 ms 344 KB Output is correct
19 Correct 540 ms 348 KB Output is correct
20 Correct 570 ms 428 KB Output is correct
21 Correct 494 ms 344 KB Output is correct
22 Correct 450 ms 348 KB Output is correct
23 Correct 457 ms 348 KB Output is correct
24 Correct 523 ms 436 KB Output is correct
25 Correct 45 ms 344 KB Output is correct
26 Correct 47 ms 348 KB Output is correct
27 Correct 47 ms 348 KB Output is correct
28 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 496 ms 428 KB Output is correct
2 Correct 443 ms 344 KB Output is correct
3 Correct 440 ms 432 KB Output is correct
4 Correct 450 ms 344 KB Output is correct
5 Correct 407 ms 344 KB Output is correct
6 Correct 496 ms 428 KB Output is correct
7 Correct 475 ms 344 KB Output is correct
8 Correct 501 ms 348 KB Output is correct
9 Correct 484 ms 432 KB Output is correct
10 Correct 472 ms 344 KB Output is correct
11 Correct 455 ms 348 KB Output is correct
12 Correct 481 ms 432 KB Output is correct
13 Correct 448 ms 344 KB Output is correct
14 Correct 481 ms 348 KB Output is correct
15 Correct 518 ms 432 KB Output is correct
16 Correct 600 ms 348 KB Output is correct
17 Correct 574 ms 344 KB Output is correct
18 Correct 626 ms 344 KB Output is correct
19 Correct 540 ms 348 KB Output is correct
20 Correct 570 ms 428 KB Output is correct
21 Correct 494 ms 344 KB Output is correct
22 Correct 450 ms 348 KB Output is correct
23 Correct 457 ms 348 KB Output is correct
24 Correct 523 ms 436 KB Output is correct
25 Correct 45 ms 344 KB Output is correct
26 Correct 47 ms 348 KB Output is correct
27 Correct 47 ms 348 KB Output is correct
28 Correct 0 ms 348 KB Output is correct
29 Runtime error 2 ms 604 KB Execution killed with signal 6
30 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 24 ms 14564 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 496 ms 428 KB Output is correct
2 Correct 443 ms 344 KB Output is correct
3 Correct 440 ms 432 KB Output is correct
4 Correct 450 ms 344 KB Output is correct
5 Correct 407 ms 344 KB Output is correct
6 Correct 496 ms 428 KB Output is correct
7 Correct 475 ms 344 KB Output is correct
8 Correct 501 ms 348 KB Output is correct
9 Correct 484 ms 432 KB Output is correct
10 Correct 472 ms 344 KB Output is correct
11 Correct 455 ms 348 KB Output is correct
12 Correct 481 ms 432 KB Output is correct
13 Correct 448 ms 344 KB Output is correct
14 Correct 481 ms 348 KB Output is correct
15 Correct 518 ms 432 KB Output is correct
16 Correct 600 ms 348 KB Output is correct
17 Correct 574 ms 344 KB Output is correct
18 Correct 626 ms 344 KB Output is correct
19 Correct 540 ms 348 KB Output is correct
20 Correct 570 ms 428 KB Output is correct
21 Correct 494 ms 344 KB Output is correct
22 Correct 450 ms 348 KB Output is correct
23 Correct 457 ms 348 KB Output is correct
24 Correct 523 ms 436 KB Output is correct
25 Correct 45 ms 344 KB Output is correct
26 Correct 47 ms 348 KB Output is correct
27 Correct 47 ms 348 KB Output is correct
28 Correct 0 ms 348 KB Output is correct
29 Runtime error 2 ms 604 KB Execution killed with signal 6
30 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 496 ms 428 KB Output is correct
2 Correct 443 ms 344 KB Output is correct
3 Correct 440 ms 432 KB Output is correct
4 Correct 450 ms 344 KB Output is correct
5 Correct 407 ms 344 KB Output is correct
6 Correct 496 ms 428 KB Output is correct
7 Correct 475 ms 344 KB Output is correct
8 Correct 501 ms 348 KB Output is correct
9 Correct 484 ms 432 KB Output is correct
10 Correct 472 ms 344 KB Output is correct
11 Correct 455 ms 348 KB Output is correct
12 Correct 481 ms 432 KB Output is correct
13 Correct 448 ms 344 KB Output is correct
14 Correct 481 ms 348 KB Output is correct
15 Correct 518 ms 432 KB Output is correct
16 Correct 600 ms 348 KB Output is correct
17 Correct 574 ms 344 KB Output is correct
18 Correct 626 ms 344 KB Output is correct
19 Correct 540 ms 348 KB Output is correct
20 Correct 570 ms 428 KB Output is correct
21 Correct 494 ms 344 KB Output is correct
22 Correct 450 ms 348 KB Output is correct
23 Correct 457 ms 348 KB Output is correct
24 Correct 523 ms 436 KB Output is correct
25 Correct 45 ms 344 KB Output is correct
26 Correct 47 ms 348 KB Output is correct
27 Correct 47 ms 348 KB Output is correct
28 Correct 0 ms 348 KB Output is correct
29 Runtime error 2 ms 604 KB Execution killed with signal 6
30 Halted 0 ms 0 KB -