結果
| 問題 |
No.619 CardShuffle
|
| コンテスト | |
| ユーザー |
mitukou1109jp
|
| 提出日時 | 2018-03-28 18:58:59 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,455 bytes |
| コンパイル時間 | 834 ms |
| コンパイル使用メモリ | 30,720 KB |
| 実行使用メモリ | 811,648 KB |
| 最終ジャッジ日時 | 2024-06-25 13:14:24 |
| 合計ジャッジ時間 | 5,231 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 12 WA * 3 MLE * 1 -- * 19 |
ソースコード
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
int main(){
int N = 0;
scanf("%d%*c", &N);
char* C = (char*)malloc((sizeof(char))*N);
int i;
for(i=0;i<N;i++){
scanf("%c%*c", &C[i]);
}
int Q = 0;
scanf("%d%*[^\n]%*c", &Q);
char* T = (char*)malloc((sizeof(char))*Q);
int** XY = (int**)malloc((sizeof(int*))*Q);
for(i=0;i<Q;i++){
XY[i] = (int*)malloc((sizeof(int))*2);
}
for(i=0;i<Q;i++){
getchar();
scanf("%c%d%d%*[^\n]%*c", &T[i], &XY[i][0], &XY[i][1]);
}
for(i=0;i<Q;i++){
if(T[i] == '!'){
int x = XY[i][0] - 1;
int y = XY[i][1] - 1;
char Cx = C[x];
char Cy = C[y];
C[x] = Cy;
C[y] = Cx;
} else {
int res = 0;
int* num = (int*)malloc((sizeof(int))*N);
int j;
int x = XY[i][0] - 1;
int y = XY[i][1] - 1;
for(j=x;j<y+1;j=j+2){
num[j] = C[j] - '0';
}
for(j=x+1;j<y;j=j+2){
if(C[j] == '*'){
int p = num[j-1] * num[j+1];
num[j-1] = 0;
num[j+1] = p;
}
}
for(j=x;j<y+1;j=j+2){
res += num[j];
}
printf("%d\n", res);
}
}
return 0;
}
mitukou1109jp