QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#175183#6563. Four SquareSolitaryDream#AC ✓854ms28152kbC++171.7kb2023-09-10 16:40:392023-09-10 16:40:41

Judging History

你现在查看的是最新测评结果

  • [2023-09-10 16:40:41]
  • 评测
  • 测评结果:AC
  • 用时:854ms
  • 内存:28152kb
  • [2023-09-10 16:40:39]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

const int N=3e3+1e2+7;

int w[4],h[4],a[4],b[4];

bool use[4];

int vis[N][N],t;

int ans;

void dfs(int c)
{
    if(c==4)
    {
        bool ok=1;
        for(int i=1;i<=t;i++)
            for(int j=1;j<=t;j++)
                if(vis[i][j]!=1)
                    ok=0;
        ans|=ok;
        return;
    }
    for(int i=1;i<=t;i++)
        for(int j=1;j<=t;j++)
            if(!vis[i][j])
            {
                for(int x=0;x<4;x++)
                    if(!use[x])
                    {
                        use[x]=1;
                        for(int p=i;p<i+w[x];p++)
                            for(int q=j;q<j+h[x];q++)
                                vis[p][q]++;
                        dfs(c+1);
                        for(int p=i;p<i+w[x];p++)
                            for(int q=j;q<j+h[x];q++)
                                vis[p][q]--;

                                
                        for(int p=i;p<i+h[x];p++)
                            for(int q=j;q<j+w[x];q++)
                                vis[p][q]++;
                        dfs(c+1);
                        for(int p=i;p<i+h[x];p++)
                            for(int q=j;q<j+w[x];q++)
                                vis[p][q]--;
                        use[x]=0;
                    }
                return;
            }
}

int main()
{
    vector<int> id;
    int S=0;
    for(int i=0;i<4;i++)
        scanf("%d%d",&w[i],&h[i]),S+=w[i]*h[i];
    t=sqrt(S);
    while(t*t<S)
        t++;
    while(t*t>S)
        t--;
    if(t*t!=S)
    {
        puts("0");
        return 0;
    }
    dfs(0);
    printf("%d\n",ans);
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3984kb

input:

1 1
1 1
1 1
1 1

output:

1

result:

ok single line: '1'

Test #2:

score: 0
Accepted
time: 1ms
memory: 3928kb

input:

3 1
3 3
2 2
3 3

output:

0

result:

ok single line: '0'

Test #3:

score: 0
Accepted
time: 1ms
memory: 3892kb

input:

2 8
2 8
2 8
2 8

output:

1

result:

ok single line: '1'

Test #4:

score: 0
Accepted
time: 1ms
memory: 3908kb

input:

5 3
5 5
3 3
3 5

output:

1

result:

ok single line: '1'

Test #5:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

1 2
4 8
16 32
64 128

output:

0

result:

ok single line: '0'

Test #6:

score: 0
Accepted
time: 1ms
memory: 3824kb

input:

4 4
2 1
4 4
2 1

output:

0

result:

ok single line: '0'

Test #7:

score: 0
Accepted
time: 100ms
memory: 16220kb

input:

995 51
559 565
154 536
56 780

output:

0

result:

ok single line: '0'

Test #8:

score: 0
Accepted
time: 132ms
memory: 16328kb

input:

391 694
540 42
240 937
691 246

output:

0

result:

ok single line: '0'

Test #9:

score: 0
Accepted
time: 149ms
memory: 13364kb

input:

519 411
782 710
299 45
21 397

output:

0

result:

ok single line: '0'

Test #10:

score: 0
Accepted
time: 60ms
memory: 13224kb

input:

96 960
948 18
108 82
371 576

output:

0

result:

ok single line: '0'

Test #11:

score: 0
Accepted
time: 1ms
memory: 3872kb

input:

3 2
4 3
3 1
1 4

output:

0

result:

ok single line: '0'

Test #12:

score: 0
Accepted
time: 1ms
memory: 4004kb

input:

4 3
1 2
4 4
3 2

output:

0

result:

ok single line: '0'

Test #13:

score: 0
Accepted
time: 1ms
memory: 3876kb

input:

4 4
1 3
5 4
2 5

output:

0

result:

ok single line: '0'

Test #14:

score: 0
Accepted
time: 854ms
memory: 27452kb

input:

1000 1000
1000 1000
1000 1000
1000 1000

output:

1

result:

ok single line: '1'

Test #15:

score: 0
Accepted
time: 838ms
memory: 28152kb

input:

1000 999
998 1000
997 1000
997 997

output:

1

result:

ok single line: '1'

Test #16:

score: 0
Accepted
time: 1ms
memory: 3964kb

input:

1 3
3 3
3 3
4 7

output:

1

result:

ok single line: '1'

Test #17:

score: 0
Accepted
time: 1ms
memory: 3952kb

input:

2 5
5 4
7 1
6 2

output:

1

result:

ok single line: '1'

Test #18:

score: 0
Accepted
time: 1ms
memory: 4032kb

input:

12 2
12 7
7 12
16 4

output:

1

result:

ok single line: '1'

Test #19:

score: 0
Accepted
time: 1ms
memory: 4068kb

input:

7 2
2 14
5 14
7 12

output:

1

result:

ok single line: '1'

Test #20:

score: 0
Accepted
time: 1ms
memory: 4240kb

input:

32 36
5 1
1 37
35 5

output:

1

result:

ok single line: '1'

Test #21:

score: 0
Accepted
time: 1ms
memory: 4160kb

input:

28 30
30 1
31 1
2 30

output:

1

result:

ok single line: '1'

Test #22:

score: 0
Accepted
time: 2ms
memory: 4556kb

input:

66 68
9 11
7 66
9 64

output:

1

result:

ok single line: '1'

Test #23:

score: 0
Accepted
time: 2ms
memory: 4392kb

input:

59 44
25 44
40 32
40 52

output:

1

result:

ok single line: '1'

Test #24:

score: 0
Accepted
time: 1ms
memory: 3964kb

input:

4 4
2 3
4 2
3 2

output:

1

result:

ok single line: '1'