Submission #66755990


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
string a[300300],b[300300];
int n,m;
vector<int> s[300300];
int ct[1200600];
void solve(){
    cin>>n>>m;
    for (int i=1;i<=n;i++)
    cin>>a[i],a[i]=" "+a[i];
    if(n>m){
        for (int i=1;i<=m;i++){
            b[i]=" ";
            for (int j=1;j<=n;j++)
            b[i]+=a[j][i];
        }
        for (int i=1;i<=m;i++)a[i]=b[i];
        swap(n,m);
    }
    int d=2*n*m;
    for (int i=0;i<=n;i++)
    s[i].resize(m+1);
    for (int i=1;i<=n;i++)
    for (int j=1;j<=m;j++)
    if(a[i][j]=='#')s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+1;
    else s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]-1;
    long long ans=0;
    for (int i=0;i<=n;i++)
    for (int j=i+1;j<=n;j++){
        for (int k=0;k<=m;k++){
            int tmp=s[j][k]-s[i][k];
            // cerr<<tmp<<"~~~"<<d<<"\n";
            // assert(-tmp+d>=0&&tmp+d>=0);
            ans+=ct[tmp+d];ct[tmp+d]++;
        }
        for (int k=0;k<=m;k++){
            int tmp=s[j][k]-s[i][k];
            ct[tmp+d]--;
        }
        
    }
    cout<<ans<<"\n";
}
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    int T;cin>>T;
    while(T--)solve();
}

Submission Info

Submission Time
Task F - Balanced Rectangles
User xinling
Language C++ 20 (gcc 12.2)
Score 525
Code Size 1231 Byte
Status AC
Exec Time 262 ms
Memory 26368 KiB

Compile Error

In file included from /usr/include/c++/12/ios:40,
                 from /usr/include/c++/12/istream:38,
                 from /usr/include/c++/12/sstream:38,
                 from /usr/include/c++/12/complex:45,
                 from /usr/include/c++/12/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/12/bits/stdc++.h:54,
                 from Main.cpp:1:
In static member function ‘static constexpr std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)’,
    inlined from ‘static constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:423:21,
    inlined from ‘static constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:418:7,
    inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.tcc:532:22,
    inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::assign(const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:1647:19,
    inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:815:28,
    inlined from ‘void solve()’ at Main.cpp:13:18:
/usr/include/c++/12/bits/char_traits.h:431:56: warning: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ accessing 9223372036854775810 or more bytes at offsets -4611686018427387902 and [-4611686018427387903, 4611686018427387904] may overlap up to 9223372036854775813 bytes at offset -3 [-Wrestrict]
  431 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 525 / 525
Status
AC × 1
AC × 43
Set Name Test Cases
Sample sample_01.txt
All hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt
Case Name Status Exec Time Memory
hand_01.txt AC 25 ms 26368 KiB
hand_02.txt AC 14 ms 25976 KiB
hand_03.txt AC 26 ms 25072 KiB
hand_04.txt AC 14 ms 24892 KiB
sample_01.txt AC 11 ms 22160 KiB
test_01.txt AC 11 ms 22404 KiB
test_02.txt AC 11 ms 22276 KiB
test_03.txt AC 11 ms 22100 KiB
test_04.txt AC 11 ms 22184 KiB
test_05.txt AC 11 ms 22276 KiB
test_06.txt AC 11 ms 22412 KiB
test_07.txt AC 11 ms 22276 KiB
test_08.txt AC 11 ms 22264 KiB
test_09.txt AC 11 ms 22416 KiB
test_10.txt AC 13 ms 22340 KiB
test_11.txt AC 13 ms 22348 KiB
test_12.txt AC 22 ms 22296 KiB
test_13.txt AC 19 ms 22148 KiB
test_14.txt AC 14 ms 25392 KiB
test_15.txt AC 21 ms 25680 KiB
test_16.txt AC 152 ms 24712 KiB
test_17.txt AC 133 ms 25324 KiB
test_18.txt AC 154 ms 25556 KiB
test_19.txt AC 132 ms 24736 KiB
test_20.txt AC 23 ms 22268 KiB
test_21.txt AC 157 ms 23428 KiB
test_22.txt AC 129 ms 24036 KiB
test_23.txt AC 157 ms 23540 KiB
test_24.txt AC 163 ms 24676 KiB
test_25.txt AC 96 ms 23616 KiB
test_26.txt AC 64 ms 23284 KiB
test_27.txt AC 74 ms 23552 KiB
test_28.txt AC 43 ms 23784 KiB
test_29.txt AC 66 ms 23220 KiB
test_30.txt AC 86 ms 24576 KiB
test_31.txt AC 106 ms 24136 KiB
test_32.txt AC 66 ms 24120 KiB
test_33.txt AC 262 ms 23600 KiB
test_34.txt AC 210 ms 24164 KiB
test_35.txt AC 240 ms 23508 KiB
test_36.txt AC 160 ms 24072 KiB
test_37.txt AC 194 ms 23464 KiB
test_38.txt AC 69 ms 24124 KiB