每日一题 - 231125 - D - Counting Ls

  • D - Counting Ls

  • TAG - 一眼丁真、鉴定为纯纯大水题 一眼丁真、鉴定为纯纯大水题 一眼丁真、鉴定为纯纯大水题
  • 时间复杂度 - O ( N 2 ) O(N^2) O(N2)
//
#include
using namespace std;
#define int long long 

const int N=2005;
char g[N][N];
int cnti[N],cntj[N];

void solve()
{
    int n;
    cin>>n;

    for( int i=1;i<=n;i++ )
        for( int j=1;j<=n;j++ )
            cin>>g[i][j];
    
    for( int i=1;i<=n;i++ )
        for( int j=1;j<=n;j++ )
            cnti[i]+=( g[i][j]=='o' );
    for( int j=1;j<=n;j++ )
        for( int i=1;i<=n;i++ )
            cntj[j]+=( g[i][j]=='o' );

    int ans=0;
    for( int i=1;i<=n;i++ )
    {
        int sum=0;
        for( int j=1;j<=n;j++ )
            if( g[i][j]=='o' ) sum+=cntj[j]-1;
        ans+=sum*( cnti[i]-1 );
    }
    printf("%lld\n",ans );
}

signed main()
{
    int t=1;
    // scanf("%d",&t );
    while( t-- ) solve();
    return 0;
}
/*

3
ooo
oxo
ooo

*/

实现细节


参考示意图


参考链接


作者 | 乐意奥AI

你可能感兴趣的:(ACM,算法)