锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
2 #include <cstdio>
3 #include <cstring>
4 const int maxn = 100000 + 5;
5 int last, cur, next[maxn];
6 char s[maxn];
7 int main() {
8
9 while ( scanf("%s", s + 1) == 1) {
10
11 int n = strlen(s + 1);
12 last = cur = 0;
13 next[0] = 0; // 澶寸粨鐐瑰垵濮嬪寲鎸囧悜鑷韓
14
15 for (int i = 1; i <=n; i++) {
16
17 char ch = s[i];
18 if ('[' == ch ) cur = 0;
19 else if (']' == ch) cur = last;
20 else {
21
22 next[i] = next[cur]; // next[cur]涓哄綋鍓嶅厜鏍囩殑鍓嶄竴涓瓧絎︼紝鑰宯ext[i]灝辨槸褰撳墠鍏夋爣瑕佽緭鍏ョ殑瀛楃錛屾帴鐫錛屽厜鏍囪繕瑕佽煩鍒頒笅涓瓧絎︺傛墍浠ユ垜浠鎶婂綋鍓嶅瓧絎ext鎸囧悜鍏夋爣杈撳叆鐨勫瓧絎︺備篃灝辨槸next[cur] = i;浣嗚鍏堜繚瀛樺叾next鎸囬拡緇欒緭鍏ュ瓧絎︺傚叾next鎸囬拡鍏跺疄灝辨槸鐪熺浉澶寸粨鐐廣?/span>
23 next[cur] = i;
24 if (cur == last) last = i;
25 cur = i; // 鎸囧悜涓嬩竴涓妭鐐?/span>
26 }
27
28 }
29
30 for (int i = next[0];i != 0; i = next[i]) {
31 printf("%c", s[i]);
32 }
33 puts("");
34 }
35
36 return 0;
37 }
2015/4/12涓婂崍12:10:12
]]>
2 #include <iostream>
3 #include <string>
4 #include <stack>
5
6 using namespace std;
7
8 struct Matrix {
9 int r,c;
10 Matrix(int a = 0, int b = 0) : r(a), c(b) {};
11 }m[26];
12
13 stack<Matrix> s;
14
15 int main()
16 {
17
18 int n;
19 cin >> n;
20 for (int i = 0; i < n; i++) {
21 string name;
22 cin >> name;
23 int k = name[0] - 'A';
24 cin >> m[k].r >> m[k].c;
25
26 }
27
28 string expr;
29 while (cin >> expr) {
30
31 int len = expr.size(); // 鑾峰彇瀛楃涓茬殑澶у皬錛屽洜涓鴻繖鏁翠釜瀛楃涓查兘娌℃湁絀烘牸
32 bool error = false;
33 int ans = 0;
34 for (int i = 0; i < len; i++) { // 寰幆鏁翠釜琛ㄨ揪寮忋佹濊礬鏄亣鍒板彸鎷彿灝卞嚭鏍堜袱涓狹atrix榪涜璁$畻錛岀畻瀹屽湪鍘嬪洖銆?br />35 // 鍏跺疄浣犲彲浠ュ彂鐜板甫鎷彿鐨勮〃杈懼紡鍗佸垎絎﹀悎鏍堬紝鑰屼笉浠呬粎鏄棰樼洰錛岄鍏堝乏鎷彿瓚婃繁
36 // 鍏惰綆楃殑鏈夊厛綰у埆瓚婇珮錛岃屽彸鎷彿鍙堝拰宸︽嫭鍙烽厤瀵癸紝濡傛灉鎴戜滑浠庡乏鍒板彸璇誨彇涓涓〃杈懼紡
37 // 姣忔涓閬囧埌鍙蟲嫭鍙鳳紝鍏跺墠闈㈠埌宸︽嫭鍙風殑閮ㄥ垎鑲畾灝辨槸榪欎釜琛ㄨ揪寮忔渶浼樺厛鐨勯儴鍒嗐?/span>
38 if (isalpha(expr[i])) { s.push(m[expr[i] - 'A']); }
39 else if (')' == expr[i]) {
40 Matrix m2 = s.top(); s.pop();
41 Matrix m1 = s.top(); s.pop();
42 if (m1.c != m2.r) { error = true; break; }
43 ans += m1.r * m1.c * m2.c;
44 s.push(Matrix(m1.r, m2.c));
45 }
46
47 }
48
49 if (error) printf("error\n"); else printf("%d\n", ans);
50
51 }
52
53 return 0;
54 }
55
2015/4/10涓嬪崍6:32:37
By sixleaves
]]>
#include <stdio.h>
#include <string.h>
typedef struct {
int r;
int c;
} Point;
int main() {
const int maxn = 5;
char puzzle[maxn][maxn] = {0};
int kase = 0;
int first = 1;
for (;;) {
// 1.鍏堣鍙栦竴涓瓧絎?span style="font-family: Menlo;">,鐪嬫槸涓嶆槸Z,涓嶆槸Z寰楃湅鐪嬫槸涓嶆槸絀哄瓧絎?/p>
char ch;
ch = getchar();
if (ch == 'Z') break;
else {
puzzle[0][0] = ch;
first == 1? first = 0: printf("\n");
}
Point empty;
if (ch == ' ') { empty.r = 0, empty.c = 0; }
// 2.璇誨彇Puzzle鍒濆鍖栧竷灞
for (int i = 1; i < 25; ) {
ch = getchar();
if (ch == ' ') {
puzzle[ empty.r = i / 5 ][ empty.c = i % 5 ] = ch;
i++;
}
if (ch != ' ' && ch != '\n' && ch != '\t' && ch != '\r') {
puzzle[ i/5 ][ i%5 ] = ch;
i++;
}
}
// 3.鎵ц鎸囦護
int configuration = 1;
while ((ch = getchar()) != '0') {
if (ch == '\n' || ch == ' ' || !configuration) continue;
int row = empty.r, col = empty.c;
if (configuration) {
switch (ch) {
case 'A':
if (row - 1 >= 0) {
puzzle[row][col] = puzzle[row - 1][col];
puzzle[row - 1][col] = ' ';
empty.r = row - 1;
empty.c = col;
}else {
configuration = 0;
}
break;
case 'B':
if (row + 1 < maxn) {
puzzle[row][col] = puzzle[row + 1][col];
puzzle[row + 1][col] = ' ';
empty.r = row + 1;
empty.c = col;
}else {
configuration = 0;
}
break;
case 'R':
if (col + 1 < maxn) {
puzzle[row][col] = puzzle[row][col + 1];
puzzle[row][col + 1] = ' ';
empty.r = row;
empty.c = col + 1;
}else {
configuration = 0;
}
break;
case 'L':
if (col - 1 >= 0) {
puzzle[row][col] = puzzle[row][col - 1];
puzzle[row][col - 1] = ' ';
empty.r = row;
empty.c = col - 1;
}else {
configuration = 0;
}
break;
default:
configuration = 0;
break;
}
}
}
// 4.鍚冩帀鍥炶濺
ch = getchar();
// 5.杈撳嚭
if (!configuration) {
printf("Puzzle #%d:\nThis puzzle has no final configuration.\n", ++kase);
}else {
printf("Puzzle #%d:\n", ++kase);
for (int row = 0; row < maxn; row++) {
for (int col = 0; col < maxn; col++) {
printf(col == maxn - 1 ? "%c" : "%c ", puzzle[row][col]);
}
printf("\n");
}
}
}
return 0;
}
涓轟簡緙╃煭棰嗘晳嫻庡搧鐨勯槦浼嶏紝NNGLRP鍐沖畾浜嗕互涓嬬瓥鐣ワ細姣忓ぉ鎵鏈夋潵鐢寵鏁戞祹鍝佺殑浜轟細琚斁鍦ㄤ竴涓ぇ鍦嗗湀錛岄潰鏈濋噷闈€傞夊畾涓涓漢涓虹紪鍙?1 鍙鳳紝鍏朵粬鐨勫氨浠庨偅涓漢寮濮嬮嗘椂閽堝紑濮嬬紪鍙風洿鍒?N銆備竴涓畼鍛樹竴寮濮嬮嗘椂閽堟暟錛屾暟 k 涓敵璇瘋咃紝鐒跺悗鍙︿竴涓畼鍛樼 N 涓欏烘椂閽堟柟鍚戞暟 m 涓敵璇瘋咃紝榪欎袱涓漢灝辮閫佸幓鍐嶆暀鑲層傚鏋滀袱涓畼鍛樻暟鐨勬槸鍚屼竴涓漢錛岄偅涓漢鍒欒閫佸幓浠庢斂錛岀劧鍚?涓畼鍛樺啀鍦ㄥ墿涓嬬殑浜洪噷闈㈢戶緇夌洿鍒版病浜哄墿涓嬫潵錛屾敞鎰忎袱涓閫?涓殑浜烘槸鍚屾椂璧版帀鐨勶紝鎵浠ュ氨鏈夊彲鑳戒袱涓畼鍛橀変腑涓涓漢銆?/p>
杈撳叆鍚湁澶氱粍嫻嬭瘯璧勬枡錛屾瘡緇勬祴璇曡祫鏂欎竴鍒楀惈鏈変笁涓暟 N錛宬 鍜?m錛坘, m > 0錛?<N<20錛夈?褰撹緭鍏ヤ負 0 0 0 浠h〃杈撳叆緇撴潫銆?/p>
瀵規瘡緇勬祴璇曡祫鏂欒緭鍑轟竴鍒椼傝緭鍑鴻閫変腑鐨勭敵璇瘋呯殑緙栧彿欏哄簭錛堜竴瀵逛竴瀵圭殑錛夈傛瘡涓暟鐨勫搴︿負 3 銆傛瘡涓瀵瑰墠闈㈢殑閭d釜緙栧彿涓洪嗘椂閽堟暟鐨勫畼鍛橀夊嚭鐨勶紝鍚庨潰鐨勯偅涓紪鍙蜂負欏烘椂閽堟暟鐨勫畼鍛橀夊嚭鐨勶紙浣嗘槸濡傛灉榪?涓畼鍛橀夊嚭鍚屼竴涓漢錛岄偅灝卞彧浼氭湁涓涓紪鍙鳳級銆傛瘡涓瀵?涔嬮棿浠ラ楀彿鍒嗗紑銆傛牸寮忚鍙傝僑ample Output銆?/p>
10 4 3
13 17 42
7 8 47
0 0 0
4 8, 9 5, 3 1, 2 6, 10, 7榪欓亾棰樼洰鏈夌偣緇曪紝涔熻寰椾笉涓ュ瘑銆傝繖閲屼富瑕佽涓嬪嚑涓鏄撻敊鐨勫湴鏂廣?br />棣栧厛鏄綘姣忔鍦ㄥ啓紼嬪簭涔嬪墠錛岄兘瑕佸崄鍒嗘竻闄よ鍒欙紝棰樼洰涓殑浜烘槸鍥寸潃涓鍦堬紝鑰屼笖絎竴涓殑宸﹁竟鏄N涓漢錛屼篃灝辨槸瀹冩槸閫嗘椂閽堟爣鍙風殑銆傝繖涓崄鍒嗗叧閿?br />鍏舵鏄痝o鍑芥暟鐨勫疄鐜幫紝go鍑芥暟鏄暟榪嘗涓漢錛岃繑鍥炴渶鍚庝竴涓殑浣嶇疆銆傛垜騫朵笉璧炲悓錛屾煇浜涚増鏈暟緇勬槸浠?寮濮嬭鏁幫紝鍥犱負榪欐牱瀵逛簬琛ㄨ揪寮忕殑琛ㄨ揪鍗佸垎涓嶆柟渚褲備綘鍙互
4 11, 10 1, 8 6, 13 7, 3, 5 12, 9 2
1 3, 5 7, 2 4, 6
錛?錛夋暣鍊煎嚱鏁扮殑搴旂敤銆傦紙榪欎釜涓嶆噦鐨勮瘽錛屽幓鐪嬫垜Math鏍忕洰涓嬫湁榪欎釜鍒嗘瀽錛?/strong>
錛?錛塻scanf銆乻printf鐨勫簲鐢?/strong>
錛?錛夊垎鍧楄綆楃殑鏍煎紡闂銆?/strong>
鍏堢洿鎺ョ湅浠g爜錛?br /> 1 #include <iostream>