记一道有思路但没时间做的题

Description

n\times nn×n的01矩阵aa中,若存在四个整数$l,r,u,d(1\leq l<r\leq n,1\leq d<u\leq n)$l,r,u,d(1≤l<r≤n,1≤d<u≤n)使得a[u][l]=1a[u][l]=1且a[u][r]=1a[u][r]=1且a[d][l]=1a[d][l]=1且a[d][r]=1a[d][r]=1为真,那么a[u][l]a[u][l]、a[u][r]a[u][r]、a[d][l]a[d][l]、a[d][r]a[d][r]就构成了矩阵中的一个四环。两个四环不同当且仅当l,r,u,dl,r,u,d四个数中有最少一个不同。

现在给一个01矩阵,求矩阵中不同的四环数量

Input

第一行包含一个整数n(2\leq n\leq 1000)n(2≤n≤1000),表示矩阵的长和宽。

接下来共nn行,每行nn个字符,组成一个矩阵aa,所有元素只由{'0','1'}组成。

Output

输出包含一个整数,表示矩阵中不同的四环的数量。

Sample Input 1

2
11
11

Sample Output 1

1

Sample Input 2

2
11
10

Sample Output 2

0

Sample Input 3

4
0110
1001
1001
0110

Sample Output 3

2

思路

用一个长度为n的数组来储存这个矩阵,每个元素存一行,

用位运算,第i行和第j行按位与,然后判断结果中1的数量n,求n的阶乘,结果即为这两行可以组成的四环数量。

最后半小时都在写读入数据的部分,我真是个废物呢😭C++太烂了

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇