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
2025-06-14 21:47:27+0900
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
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