Submission #856472

# Submission time Handle Problem Language Result Execution time Memory
856472 2023-10-03T15:40:42 Z MilosMilutinovic PIN (CEOI10_pin) C++14
60 / 100
346 ms 14768 KB
#include <bits/stdc++.h>

#define pb push_back
#define fi first
#define se second
#define mp make_pair

using namespace std;

typedef long long ll;
typedef pair<int,int> pii;

int readint(){
	int x=0,f=1; char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
	return x*f;
}

int n,d;
char s[50005][4];

int main(){
	scanf("%d%d",&n,&d); d=4-d;
	for(int i=1;i<=n;i++) scanf("%s",s+i);
	map<string,int> cnt;
	long long ans=0;
	for(int i=1;i<=n;i++){
		for(int mask=(1<<4)-1;mask>=0;mask--){
			int pc=__builtin_popcount(mask);
			if(pc<d) continue;
			string str="";
			for(int j=0;j<4;j++) if(mask>>j&1) str+=s[i][j]; else str+='*';
			ans+=cnt[str]*(d%2==pc%2?1:-1);
		}
		for(int mask=0;mask<(1<<4);mask++){
			string str="";
			for(int j=0;j<4;j++) if(mask>>j&1) str+=s[i][j]; else str+='*';
			cnt[str]+=1;
		}
	}
	printf("%lld\n",ans);
	return 0;
}

Compilation message

pin.cpp: In function 'int main()':
pin.cpp:25:32: warning: format '%s' expects argument of type 'char*', but argument 2 has type 'char (*)[4]' [-Wformat=]
   25 |  for(int i=1;i<=n;i++) scanf("%s",s+i);
      |                               ~^  ~~~
      |                                |   |
      |                                |   char (*)[4]
      |                                char*
pin.cpp:24:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   24 |  scanf("%d%d",&n,&d); d=4-d;
      |  ~~~~~^~~~~~~~~~~~~~
pin.cpp:25:29: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   25 |  for(int i=1;i<=n;i++) scanf("%s",s+i);
      |                        ~~~~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 6 ms 1116 KB Output is correct
2 Incorrect 7 ms 1060 KB Output isn't correct
3 Correct 6 ms 860 KB Output is correct
4 Correct 76 ms 3412 KB Output is correct
5 Correct 95 ms 3664 KB Output is correct
6 Incorrect 119 ms 3732 KB Output isn't correct
7 Incorrect 97 ms 3408 KB Output isn't correct
8 Correct 107 ms 3920 KB Output is correct
9 Correct 185 ms 5424 KB Output is correct
10 Incorrect 239 ms 5808 KB Output isn't correct
11 Incorrect 129 ms 3924 KB Output isn't correct
12 Incorrect 250 ms 5464 KB Output isn't correct
13 Incorrect 163 ms 4388 KB Output isn't correct
14 Correct 145 ms 3960 KB Output is correct
15 Correct 257 ms 5716 KB Output is correct
16 Correct 175 ms 11320 KB Output is correct
17 Incorrect 328 ms 14768 KB Output isn't correct
18 Correct 258 ms 12112 KB Output is correct
19 Correct 310 ms 13652 KB Output is correct
20 Correct 346 ms 14636 KB Output is correct