제출 #170773

#제출 시각아이디문제언어결과실행 시간메모리
170773beksultan04Bank (IZhO14_bank)C++14
0 / 100
7 ms1908 KiB
#include <bits/stdc++.h> using namespace std; #define fr first #define sc second #define pb push_back #define mk make_pair #define OK puts("OK"); #define sz(s) (int)s.size() #define pii pair<int,int> #define all(s) s.begin(), s.end() #define allr(s) s.rbegin(), s.rend() #define rep(i,n) for (i=0;i<(n);++i) #define rep1(i,n) for (i=1;i<=(n);++i) #define ret return #define nemeshay ios::sync_with_stdio(0),cin.tie(0); const int N=30,INF=1e9+7; int q[N],a[N],b[N],e[N],g[N],x[N],n,m; string pre(string s){ int i=s.size()-1; while (i>=0 && s[i]!='0'){ s[i]='0'; i--; } s[i]='1'; ret s; } string sum_bin(string a1,string b1){ int i; for (i=0;i<m;++i){ if (a1[i]=='1')b1[i]='1'; } ret b1; } bool is(string a1,string b1){ int i; for (i=0;i<m;++i) if (a1[i]=='1' && b1[i]=='1') ret 0; ret 1; } int sum(string a1,string b1){ int i,c=0; for (i=0;i<m;++i) if (b1[i]=='1' && a1[i]=='0') c+=b[i]; ret c; } void rec(string s,int j){ if (j==n){ cout <<"YES"; exit(0); } map <string,bool> mp; vector <string> v1; int k=0,i; v1.pb(s); while (v1.size()!=k){ string t=v1[k]; k++; for (i=0;i<t.size();++i){ if (t[i]=='0'){ string to=t; to[i]='1'; if (mp[to]==0) v1.pb(to); mp[to]=1; } } } for (i=0;i<v1.size();++i){ int x=sum(s,v1[i]); if (x==a[j]){ rec(sum_bin(v1[i],s),j+1); } } } main(){ nemeshay int i,j,k,ans=0,c=1; string s="",sss=""; cin>>n>>m; rep(i,n)cin>>a[i]; rep(i,m){ sss+='0'; cin>>b[i]; c*=2; if (i!=0) s+='0'; } s+='1'; vector <string> v; while (c>1){ v.pb(s); s=pre(s); c--; } for (i=0;i<v.size();++i){ int x=sum(sss,v[i]); if (x==a[0]){ rec(v[i],1); } } cout <<"NO"; } /*1 20 100 1 2 6 2 5 5 13 6 4 13 3 13 8 5 4 1 31 6 8 1*/

컴파일 시 표준 에러 (stderr) 메시지

bank.cpp: In function 'void rec(std::__cxx11::string, int)':
bank.cpp:61:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (v1.size()!=k){
            ~~~~~~~~~^~~
bank.cpp:64:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (i=0;i<t.size();++i){
                  ~^~~~~~~~~
bank.cpp:75:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0;i<v1.size();++i){
              ~^~~~~~~~~~
bank.cpp: At global scope:
bank.cpp:83:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
bank.cpp: In function 'int main()':
bank.cpp:103:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0;i<v.size();++i){
              ~^~~~~~~~~
bank.cpp:85:11: warning: unused variable 'j' [-Wunused-variable]
     int i,j,k,ans=0,c=1;
           ^
bank.cpp:85:13: warning: unused variable 'k' [-Wunused-variable]
     int i,j,k,ans=0,c=1;
             ^
bank.cpp:85:15: warning: unused variable 'ans' [-Wunused-variable]
     int i,j,k,ans=0,c=1;
               ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...