답안 #1077292

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1077292 2024-08-27T04:51:41 Z khactrung1912 Lozinke (COCI17_lozinke) C++14
5 / 100
1000 ms 65536 KB
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define pb push_back
#define ins insert
#define BIT(x,i)    ((1LL<<i)&x)
#define all(x) x.begin(),x.end()
#define pll         pair<ll,ll>
#define pii         pair<int,int>
#define ll long long
#define ull unsigned long long
#define name "PASS"
const int mod=int(1e9+7);
int pi[8]={0,0,1,-1,1,1,-1,-1};
int pj[8]={-1,1,0,0,1,-1,1,-1};
template<class A,class B> inline void add(A &a,B b) { a+=b;while (a>=mod) a-=mod;}
template<class A,class B> inline void sub(A &a,B b) { a-=b;while (a>=mod) a-=mod;while (a<0) a+=mod;}
template<class A,class B> bool _max(A &a,B b) {if (a<b) return a=b,1; return 0;}
template<class A,class B> bool _min(A &a,B b) {if (a>b) return a=b,1; return 0;}
int n,res;
const int nmax=20010;
string a[nmax];
namespace Subtask1{
    bool check(string &s,string &t){
        int d=0;
        for(auto chr:t) d+=chr==s[d];
        return d==s.size();
    }
    void solve(){
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
                if (i!=j) res+=check(a[i],a[j]);
        cout<<res;
    }
}
namespace Subtask2{
    void solve(){
        unordered_map<string,int> dp;
        for(int i=1;i<=n;i++) dp[a[i]]++;
        for(int i=1;i<=n;i++){
            dp[a[i]]--;
            unordered_map<string,bool> uwu;            
            for(int mask=1;mask<(1<<a[i].size());mask++)
                {
                    string tmp="";
                    for(int j=0;j<a[i].size();j++) 
                        if (BIT(mask,j)) tmp+=a[i][j];
                    res+=dp[tmp]*(uwu[tmp]==0);
                    uwu[tmp]=1;
                }
            dp[a[i]]++;
        }
        cout<<res;
    }
}
int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    if (fopen(name".INP","r"))
        {
            freopen(name".INP","r",stdin);
            freopen(name".OUT","w+",stdout);
        }
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    if (n<=2000) return Subtask1::solve(),0;
    Subtask2::solve();
}

Compilation message

lozinke.cpp: In function 'bool Subtask1::check(std::string&, std::string&)':
lozinke.cpp:28:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |         return d==s.size();
      |                ~^~~~~~~~~~
lozinke.cpp: In function 'void Subtask2::solve()':
lozinke.cpp:47:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |                     for(int j=0;j<a[i].size();j++)
      |                                 ~^~~~~~~~~~~~
lozinke.cpp: In function 'int main()':
lozinke.cpp:62:20: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   62 |             freopen(name".INP","r",stdin);
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
lozinke.cpp:63:20: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   63 |             freopen(name".OUT","w+",stdout);
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 856 KB Output isn't correct
2 Incorrect 1 ms 860 KB Output isn't correct
3 Incorrect 1 ms 860 KB Output isn't correct
4 Incorrect 2 ms 860 KB Output isn't correct
5 Incorrect 8 ms 940 KB Output isn't correct
6 Incorrect 20 ms 860 KB Output isn't correct
7 Incorrect 27 ms 860 KB Output isn't correct
8 Incorrect 36 ms 860 KB Output isn't correct
9 Incorrect 297 ms 5320 KB Output isn't correct
10 Execution timed out 1014 ms 65536 KB Time limit exceeded
11 Incorrect 529 ms 12224 KB Output isn't correct
12 Runtime error 594 ms 65536 KB Execution killed with signal 9
13 Incorrect 885 ms 3528 KB Output isn't correct
14 Runtime error 500 ms 65536 KB Execution killed with signal 9
15 Runtime error 543 ms 65536 KB Execution killed with signal 9
16 Execution timed out 1010 ms 1624 KB Time limit exceeded
17 Execution timed out 1067 ms 1116 KB Time limit exceeded
18 Correct 609 ms 1116 KB Output is correct
19 Execution timed out 1049 ms 49416 KB Time limit exceeded
20 Incorrect 508 ms 1368 KB Output isn't correct