ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

poj1222 EXTENDED LIGHTS OUT(¶þ)
2015-07-20 17:17:33 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:8´Î
Tags£ºpoj1222 EXTENDED LIGHTS OUT

Ò»¸öµÆµÄ²¼¾Ö¿ÉÒÔ¿´³ÉÒ»¸ö0¡¢1¾ØÕó¡£ÒÔ3x3ΪÀý£º
0 1 0
1 1 0
0 1 1
±íʾһ¸ö²¼¾Ö¡£ÆäÖÐ0±íʾµÆÃð£¬1±íʾµÆÁÁ¡£
ÿ´Î°´Ï°´Å¥£¨POJ1222£©»òÕß½ÐÒ»¸öËÞÉá¹ØµÆ£¨0998£©£¬¿ÉÒÔ¿´³ÉÔÚÔ­¾ØÕóÉϼӣ¨Ä£2¼Ó£¬¾ÍÊǰ´Î»Òì»ò£©ÉÏÒ»¸öÈçϵľØÕó£º
0 1 0
1 1 1
0 1 0
ÉÏÊö¾ØÕóÖеÄ1±íʾ°´ÏµÚ2ÐеÚ2Áеݴťʱ£¬×÷Óõķ¶Î§¡£Èç¹û°´×óÉϽǵİ´Å¥£¬¾ÍÊÇ£º
1 1 0
1 0 0
0 0 0

ÎÒÃǼÇLΪ´ýÇó½âµÄԭʼ²¼¾Ö¾ØÕó¡£A(i,j)±íʾ°´ÏµÚiÐеÚjÁеݴťʱµÄ×÷Ó÷¶Î§¾ØÕó¡£ÔÚÉÏÊöÀý×ÓÖУ¬
L=
0 1 0
1 1 0
0 1 1

A(1,1)=
1 1 0
1 0 0
0 0 0

A(2,2)=
0 1 0
1 1 1
0 1 0

¼ÙÉèx(i,j)±íʾ£ºÏëҪʹµÃL»Øµ½È«Ãð״̬£¬µÚiÐеÚjÁеİ´Å¥ÊÇ·ñÐèÒª°´Ï¡£0±íʾ²»°´£¬1±íʾ°´Ï¡£ÄÇô£¬Õâ¸öÓÎÏ·¾Íת»¯ÎªÈçÏ·½³ÌµÄÇó½â£º
L + x(1,1)*A(1,1) + x(1,2)*A(1,2) + x(1,3)*A(1,3) + x(2,1)*A(2,1) + ... + x(3,3)*A(3,3) = 0

ÆäÖÐx(i,j)ÊÇδ֪Êý¡£·½³ÌÓұߵÄ0±íʾÁã¾ØÕ󣬱íʾȫÃðµÄ״̬¡£Ö±¹ÛµÄÀí½â¾ÍÊÇ£ºÔ­À´µÄL״̬£¬¾­¹ýÁËÈô¸É¸öA(i,j)µÄ±ä»»£¬×îÖÕ±ä³É0:È«Ãð״̬¡£
ÓÉÓÚÊÇ0¡¢1¾ØÕó£¬ÉÏÊö·½³ÌÒ²¿ÉÒÔд³É£º
x(1,1)*A(1,1) + x(1,2)*A(1,2) + x(1,3)*A(1,3) + x(2,1)*A(2,1) + ... + x(3,3)*A(3,3) = L

ÕâÊÇÒ»¸ö¾ØÕ󷽳̡£Á½¸ö¾ØÕóÏàµÈ£¬³äÒªÌõ¼þÊǾØÕóÖÐÿ¸öÔªËØ¶¼ÏàµÈ¡£½«ÉÏÊö·½³ÌÕ¹¿ª£¬±ãת»¯³ÉÁËÒ»¸ö9Ôª1´Î·½³Ì×飺

¼òµ¥µØ¼Ç×ö£ºAA * XX = LL

Õâ¸ö·½³ÌÓÐΨһ½â£º
x(1,1) x(1,2) x(1,3)
x(2,1) x(2,2) x(2,3)
x(3,1) x(3,2) x(3,3)
=
1 1 1
0 0 0
0 0 1

Ò²¾ÍÊÇ˵£¬°´ÏµÚÒ»ÐеÄ3¸ö°´Å¥£¬ºÍÓÒϽǵİ´Å¥£¬¾Í

ÄÜʹL״̬±ä³ÉÈ«Ãð״̬¡£
¶ÔÓڹ̶¨ÐÐÁеÄÕóÁÐÀ´Ëµ£¬AA¾ØÕóÒ²ÊÇÈ·¶¨µÄ¡£ÊÇ·ñ´æÔڽ⣬½âÊÇ·ñΨһ£¬Ö»ÓëAA¾ØÕóÓйء£¶ÔÓÚΨһ½âµÄÇéÐΣ¬Ö»Òª½«LL³ËÒÔAAµÄÄæ¾ØÕó¼´¿É¡£¾ßÌåÇóAAµÄÄæ¾ØÕóµÄ·½·¨£¬¿ÉÒÔÓøß˹ÏûÔª·¨¡£

ÓÉÓÚÊÇ0¡¢1¾ØÕó£¬ÉÏÊö·½³ÌÒ²¿ÉÒÔд³É£º

½«1ʽÁ½±ßͬʱ¼ÓÉÏÒ»¸öL¾ØÕó¾Í¿ÉÒÔ±ä³É
x(1,1)*A(1,1) + x(1,2)*A(1,2) + x(1,3)*A(1,3) + x(2,1)*A(2,1) + ... + x(3,3)*A(3,3) = L

A£¨1£¬1£©°Ñ¾ØÕó ת»¯ÎªÒ»¸öÁÐÏòÁ¿£¬LҲת»¯ÎªÒ»¸öÁÐÏòÁ¿£¬

½«sigma xi*Ai=Li ¶ÔӦλÖõÄÖµÏàµÈ¾Í¿ÉÒÔ½¨Á¢·½³Ì×éÁË

X1*A(1,1)1+X2*A(1,2)1+X3*A(1,3)1+¡­¡­¡­¡­X30*A(30,30)1=L1; mod 2

X1*A(1,1)2+X2*A(1,2)2+X3*A(1,3)2+¡­¡­¡­¡­X30*A(30,30)2=L2; mod 2

X1*A(1,1)3+X2*A(1,2)3+X3*A(1,3)3+¡­¡­¡­¡­X30*A(30,30)3=L3 mod 2

¡­¡­.

¡­¡­.

¡­¡­.

X1*A(1,1)30+X2*A(1,2)30+X3*A(1,3)30+¡­¡­¡­¡­X30*A(30,30)30=L30; mod 2

ÆäÖÐA(i,j)k ±íʾÁÐÏòÁ¿AÖеÚK¸öÔªËØ

ÕâÀïµÄ*±íʾµã³Ë£¬XiÈ¡(1,0) +±íʾģ2¼Ó·¨£¬ËùÒÔÔÚ¸ß˹ÏûÔªµÄʱºò¿ÉÒÔÓÃ^Òì»òÔËËã

1¸ö¿ª¹Ø×î¶à¿ØÖÆ5¸öµÆ£¬ÔÚ¹¹ÔìµÄ¾ØÕóÖУ¬a[i][j]=1±íʾµÚi¸ö¿ª¹Ø¿ÉÒÔÓ°Ïìµ½jºÅµÆ

¹¹Ôì³öµÄ¾ØÕóÈçͼ£º

\

²Î¿¼´úÂ룺

#include 
  
   
#include 
   
     using namespace std; int map[32][32]; int ans[32]; void Guass(){ for (int i=0;i<30;i++){ //¿ØÖÆÐÐ if (map[i][i]==0){ for (int j=i+1;j<30;j++){ //ÕÒµ½²»Îª0µÄÄÇÒ»ÐУ¬È»ºó½øÐн»»» if (map[j][i]!=0){ for (int k=i;k<31;k++){ swap(map[j][k],map[i][k]); } break; } } } for (int j=0;j<30;j++){ if (i!=j&&map[j][i]){ for (int k=i;k<31;k++){ map[j][k]=map[i][k]^map[j][k]; } } } } for (int i=0;i<30;i++){ ans[i]=map[i][30]; } } int main(){ int t,kn,km,kx,ky; cin>>t; for (int cas=1;cas<=t;cas++){ for (int i=0;i<30;i++) cin>>map[i][30]; for(int i=0;i<30;i++){ //¹¹Ôì30¸ö·½³Ì kn=i/6; km=i%6; for(int j=0;j<30;j++){ kx=j/6; ky=j%6; if(abs(kx-kn)+abs(ky-km)<=1) map[i][j]=1; else map[i][j]=0; } } Guass(); cout<<"PUZZLE #"<
    
     

Ê×Ò³ ÉÏÒ»Ò³ 1 2 ÏÂÒ»Ò³ βҳ 2/2/2
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºhdu 4381 ±³°ü ÏÂһƪ£ºPOJ1459Power Network£¨µçÍø£©¨D¨..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤ÔõÑùÓà Python дһ (2025-12-27 02:49:19)
¡¤ÈçºÎѧϰpythonÊý¾Ý (2025-12-27 02:49:16)
¡¤ÏëÒª×ÔѧÊý¾Ý·ÖÎö£¬ (2025-12-27 02:49:14)
¡¤Java ¼¯ºÏ¿ò¼Ü - ²Ë (2025-12-27 02:19:36)
¡¤Java¼¯ºÏ¿ò¼Ü×îÈ«Ïê (2025-12-27 02:19:33)