QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#57776 | #2510. Make Numbers | As3b_team_f_masr# | WA | 2ms | 3692kb | C++ | 2.8kb | 2022-10-22 21:26:25 | 2022-10-22 21:26:29 |
Judging History
answer
#pragma GCC optimize("O3")
#pragma GCC optimize ("unroll-loops")
#pragma GCC target("avx,avx2,fma")
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define sc second
int cnt=0,tot;
vector<int> v;
set<int> s;
int main()
{
int a[4];
for(int i=0;i<4;i++)cin>>a[i];
sort(a,a+4);
do{
for(int i=0;i<(1<<3);i++)
{
v.clear();
v.push_back(a[0]);
for(int j=0;j<3;j++)
{
if(i&(1<<j))
{
int x=v.back();
v.pop_back();
x*=10;
x+=a[j+1];
v.push_back(x);
}
else
{
v.push_back(a[j+1]);
}
}
if(v.size()==1)continue;
if(v.size()==2)
{
s.insert(v[0]*v[1]) ;
s.insert(v[0]-v[1]) ;
s.insert(v[0]+v[1]) ;
}
else if(v.size()==3)
{
s.insert(v[0]*v[1]*v[2]) ;
s.insert(v[0]*v[1]-v[2]) ;
s.insert(v[0]*v[1]+v[2]) ;
s.insert(v[0]-v[1]-v[2]) ;
s.insert(v[0]-v[1]*v[2]) ;
s.insert(v[0]-v[1]+v[2]) ;
s.insert(v[0]+v[1]+v[2]) ;
s.insert(v[0]+v[1]-v[2]) ;
s.insert(v[0]+v[1]*v[2]) ;
}
else if(v.size()==4)
{
s.insert(v[0]*v[1]*v[2]*v[3]) ;
s.insert(v[0]*v[1]-v[2]*v[3]) ;
s.insert(v[0]*v[1]+v[2]*v[3]) ;
s.insert(v[0]-v[1]-v[2]*v[3]) ;
s.insert(v[0]-v[1]*v[2]*v[3]) ;
s.insert(v[0]-v[1]+v[2]*v[3]) ;
s.insert(v[0]+v[1]+v[2]*v[3]) ;
s.insert(v[0]+v[1]-v[2]*v[3]) ;
s.insert(v[0]+v[1]*v[2]*v[3]) ;
//
s.insert(v[0]*v[1]*v[2]+v[3]) ;
s.insert(v[0]*v[1]-v[2]+v[3]) ;
s.insert(v[0]*v[1]+v[2]+v[3]) ;
s.insert(v[0]-v[1]-v[2]+v[3]) ;
s.insert(v[0]-v[1]*v[2]+v[3]) ;
s.insert(v[0]-v[1]+v[2]+v[3]) ;
s.insert(v[0]+v[1]+v[2]+v[3]) ;
s.insert(v[0]+v[1]-v[2]+v[3]) ;
s.insert(v[0]+v[1]*v[2]+v[3]) ;
//
s.insert(v[0]*v[1]*v[2]*v[3]) ;
s.insert(v[0]*v[1]-v[2]-v[3]) ;
s.insert(v[0]*v[1]+v[2]-v[3]) ;
s.insert(v[0]-v[1]-v[2]-v[3]) ;
s.insert(v[0]-v[1]*v[2]-v[3]) ;
s.insert(v[0]-v[1]+v[2]-v[3]) ;
s.insert(v[0]+v[1]+v[2]-v[3]) ;
s.insert(v[0]+v[1]-v[2]-v[3]) ;
s.insert(v[0]+v[1]*v[2]-v[3]) ;
}
}
}while(next_permutation(a,a+4));
for(auto x:s)
{
if(x>=0)
{
cnt++;
}
}
cout<<cnt;
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 2ms
memory: 3692kb
input:
1 1 1 1
output:
15
result:
ok single line: '15'
Test #2:
score: 0
Accepted
time: 2ms
memory: 3660kb
input:
1 1 1 1
output:
15
result:
ok single line: '15'
Test #3:
score: 0
Accepted
time: 2ms
memory: 3520kb
input:
1 1 2 1
output:
32
result:
ok single line: '32'
Test #4:
score: 0
Accepted
time: 2ms
memory: 3564kb
input:
1 2 4 8
output:
178
result:
ok single line: '178'
Test #5:
score: -100
Wrong Answer
time: 2ms
memory: 3556kb
input:
1 3 3 8
output:
106
result:
wrong answer 1st lines differ - expected: '107', found: '106'