2007-2008 Winter Petrozavodsk Camp, Andrew Stankevich Contest 28 (ASC 28)J. Triatrip(bitset优化)

https://codeforc.es/gym/100342

bitset存边搞一搞

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int N=2e3+5;
 5 bitset<N>in[N],out[N],t;
 6 char s[N][N];
 7 int n;
 8 int main(){
 9     freopen("triatrip.in","r",stdin);//没这两行就wa 服了
10     freopen("triatrip.out","w",stdout);
11     scanf("%d",&n);
12     for(int i=1;i<=n;i++){
13         scanf("%s",s[i]+1);
14     }
15     for(int i=1;i<=n;i++){
16         for(int j=1;j<=n;j++){
17             if(s[i][j]=='+'){
18                 in[i][j]=1;
19                 out[j][i]=1;
20             }
21         }
22     }
23     ll ans=0;
24     for(int i=1;i<=n;i++){
25         for(int j=1;j<=n;j++){
26             if(s[i][j]=='+'){
27                 t=(in[j])&(out[i]);
28                 ans+=t.count();
29             }
30         }
31     }
32     cout<<ans/3<<endl;
33 }

 

posted @ 2019-09-05 22:27  Venux  阅读(306)  评论(0编辑  收藏  举报