結果
| 問題 |
No.457 (^^*)
|
| コンテスト | |
| ユーザー |
suppy193
|
| 提出日時 | 2017-01-11 14:36:06 |
| 言語 | C90 (gcc 12.3.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,451 bytes |
| コンパイル時間 | 416 ms |
| コンパイル使用メモリ | 22,528 KB |
| 実行使用メモリ | 13,640 KB |
| 最終ジャッジ日時 | 2024-12-21 09:47:46 |
| 合計ジャッジ時間 | 29,226 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 11 TLE * 9 |
コンパイルメッセージ
main.c: In function ‘main’:
main.c:52:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
52 | scanf("%s", s);
| ^~~~~~~~~~~~~~
ソースコード
#include <stdio.h>
#include <string.h>
int func(char s[], char face[])
{
int i, j;
int memo[10001][5] = {0};
if(s[0] == face[0]){
memo[0][0] = 1;
}
for(i = 1;i < strlen(s);i++){
memo[i][0] = memo[i - 1][0];
if(s[i] == face[0]){
memo[i][0]++;
}
}
for(i = 1;i < strlen(s);i++){
if(s[i] == face[0]){
//memo[i][0]++;
}
for(j = 1;j < strlen(face);j++){
if(s[i] == face[j]){
memo[i][j] = memo[i - 1][j] + memo[i - 1][j - 1];
}
else{
memo[i][j] = memo[i - 1][j];
}
}
}
//for(i = 1;i < strlen(s);i++){
// printf("%d ", memo[i][strlen(face) - 1]);
//}
if(memo[strlen(s) - 1][strlen(face) - 1] > 0){
return 1;
}
else{
return 0;
}
}
int main(void) {
char s[10001], s_sub[10001] = {0};
char face_l[] = "^^*";
char face_r[] = "*^^";
int memo[10001][5] = {0};
int i, j, k, l;
int count_l = 0;
int count_r = 0;
scanf("%s", s);
//printf("%s\n", s);
for(i = 0;i < strlen(s) - 1;i++){
if(s[i] == '('){
for(j = strlen(s);j > 0;j--){
if(s[j] == ')'){
//printf("%d %d\n", i, j);
l = 0;
for(k = i + 1;k < j;k++){
s_sub[l] = s[k];
l++;
//printf("%c", s[k]);
}
s_sub[l] = '\0';
//printf("\n");
//printf("%s\n", s_sub);
//printf("%d\n", func(s_sub, face_l));
//printf("\n");
count_l += func(s_sub, face_l);
count_r += func(s_sub, face_r);
}
}
}
}
printf("%d %d\n", count_l, count_r);
return 0;
}
suppy193