首页 > 其他分享 >C - Bingo 2

C - Bingo 2

时间:2024-05-25 23:01:13浏览次数:24  
标签:Bingo temp int 个数 abc355 contests

C - Bingo 2

https://atcoder.jp/contests/abc355/tasks/abc355_c

 

思路

统计每行元素个数

统计每列元素个数

统计两个对角线的元素个数

任意一个达到n,则满足条件

 

Code

https://atcoder.jp/contests/abc355/submissions/53878562

#define int long long

int n, t;
vector<int> a;

map<int, int> rowcnt, colcnt;
int pdcnt = 0; // postive dignal cnt
int fdcnt = 0; // false dignal cnt


signed main()
{
    cin >> n >> t;

    for(int i=1; i<=t; i++){
        int temp;
        cin >> temp;
        
        a.push_back(temp);
        
        temp--;
        
        int x = temp / n + 1;
        int y = temp % n + 1;
        
//        cout << "x =" << x << endl;
//        cout << "y =" << y << endl;
        
        rowcnt[x]++;
        colcnt[y]++;
        
        if (rowcnt[x] == n){
            cout << i << endl;
            return 0;
        }

        if (colcnt[y] == n){
            cout << i << endl;
            return 0;
        }
    
        if (x == y){
            pdcnt++;
            
            if (pdcnt == n){
                cout << i << endl;
                return 0;
            }
        }
        
        if (x + y == n+1){
            fdcnt++;
            
            if (fdcnt == n){
                cout << i << endl;
                return 0;
            }
        }
    }

    cout << -1 << endl;

    return 0;
}

 

标签:Bingo,temp,int,个数,abc355,contests
From: https://www.cnblogs.com/lightsong/p/18213131

相关文章

  • BinGoo系列之Socket组件《三、客户端+服务端组件的封装》 控件版(转)
    简介:继【C#原生Socket网络通讯】BinGoo系列之Socket服务端+客户端 之后,进一步封装的原生socket网络通讯组件。在此之前的版本还是要写一部分绑定委托事件代码,新版通讯类库将所有的消息机制全部封装成事件。只需拖动组件至窗体,直接双击组件注册事件,无需再写有关socket的代码,......
  • CF457D Bingo!
    题目描述:有一个\(n×n(n≤300)\)的棋盘和\(1~m(n^2≤m≤100000)\)这些数字。棋盘首先会被随机生成,即从“填着值域\(1\simm\)的数字且\(n^2\)个数字两两不同”的所有方案中随机选一个。然后你会从\(1\simm\)中随机选出\(k(n≤k≤m)\)个不同的数,并且报出来。报出一个数字,如......
  • 1530 bingo 不是题解
    *2600的死活卡住出不来,想啊,很想啊(指remake21*21的方阵,每个位置有一个概率是1,求凑出来bingo的概率这种题目先考虑容斥,那就是1-凑不出bingo的概率。直接做是2^44的,我做牛......