結果
| 問題 |
No.619 CardShuffle
|
| コンテスト | |
| ユーザー |
mitukou1109jp
|
| 提出日時 | 2018-03-28 19:08:08 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,500 bytes |
| コンパイル時間 | 1,408 ms |
| コンパイル使用メモリ | 30,336 KB |
| 実行使用メモリ | 811,264 KB |
| 最終ジャッジ日時 | 2024-06-25 13:14:35 |
| 合計ジャッジ時間 | 4,490 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 13 WA * 2 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 {
long res = 0;
long* num = (long*)malloc((sizeof(long))*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] == '*'){
long 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];
}
res %= (1000000000L + 7);
printf("%ld\n", res);
}
}
return 0;
}
mitukou1109jp